]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_codesigning/lib/CodeSigner.h
Security-59306.61.1.tar.gz
[apple/security.git] / OSX / libsecurity_codesigning / lib / CodeSigner.h
index c17c5801c4e9c3461faeb2665cfff856b370ffab..099d18c7e33edf1d0edd30ca982c97d8ad4b4091 100644 (file)
@@ -41,7 +41,7 @@ namespace CodeSigning {
 // A SecCode object represents running code in the system. It must be subclassed
 // to implement a particular notion of code.
 //
-class SecCodeSigner : public SecCFObject, public DiskRep::SigningContext {
+class SecCodeSigner : public SecCFObject {
        NOCOPY(SecCodeSigner)
 public:
        class Parser;
@@ -62,13 +62,10 @@ public:
        void remove(SecStaticCode *code, SecCSFlags flags);
        
        void returnDetachedSignature(BlobCore *blob, Signer &signer);
-
-protected:
-       std::string sdkPath(const std::string &path) const;
-       bool isAdhoc() const;
-       SecCSFlags signingFlags() const;
        
-private:
+       const CodeDirectory::HashAlgorithms &digestAlgorithms() const { return mDigestAlgorithms; }
+       
+public:
        // parsed parameter set
        SecCSFlags mOpFlags;                    // operation flags
        CFRef<SecIdentityRef> mSigner;  // signing identity
@@ -83,7 +80,7 @@ private:
        uint32_t mCdFlags;                              // CodeDirectory flags
        uint32_t mPreserveMetadata;             // metadata preservation options
        bool mCdFlagsGiven;                             // CodeDirectory flags were specified
-       CodeDirectory::HashAlgorithm mDigestAlgorithm; // interior digest (hash) algorithm
+       CodeDirectory::HashAlgorithms mDigestAlgorithms; // interior digest (hash) algorithm
        std::string mIdentifier;                // unique identifier override
        std::string mIdentifierPrefix;  // prefix for un-dotted default identifiers
        std::string mTeamID;            // teamID
@@ -96,7 +93,14 @@ private:
     bool mWantTimeStamp;          // use a Timestamp server
     bool mNoTimeStampCerts;       // don't request certificates with timestamping request
        LimitedAsync *mLimitedAsync;    // limited async workers for verification
+       uint32_t mRuntimeVersionOverride;       // runtime Version Override
+       bool mPreserveAFSC;             // preserve AFSC compression
+       bool mOmitAdhocFlag;                    // don't add adhoc flag, even without signer identity
 
+       // Signature Editing
+       Architecture mEditArch;                 // architecture to edit (defaults to all if empty)
+       CFRef<CFDataRef> mEditCMS;              // CMS to replace in the signature
+       
 };