]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_codesigning/lib/sigblob.h
Security-59306.61.1.tar.gz
[apple/security.git] / OSX / libsecurity_codesigning / lib / sigblob.h
index 50d8d21d1a7526c9699a2268e15da198d7b7131d..392e840416d012b361e3df903f15fd6675804214 100644 (file)
@@ -43,6 +43,7 @@ namespace CodeSigning {
 class EmbeddedSignatureBlob : public SuperBlobCore<EmbeddedSignatureBlob, 0xfade0cc0, uint32_t> {
        typedef SuperBlobCore<EmbeddedSignatureBlob, 0xfade0cc0, uint32_t> _Core;
 public:
+       static CFDataRef blobData(CodeDirectory::SpecialSlot slot, BlobCore const *blob);
        CFDataRef component(CodeDirectory::SpecialSlot slot) const;
        
        class Maker : public _Core::Maker {
@@ -74,6 +75,21 @@ public:
        CFDictionaryRef entitlements() const;
 };
 
+//
+// Similar, but in DER representation.
+//
+class EntitlementDERBlob : public Blob<EntitlementDERBlob, kSecCodeMagicEntitlementDER> {
+public:
+       static EntitlementDERBlob *alloc(size_t length);
+
+       uint8_t *der() { return data; }
+       const uint8_t *der() const { return data; }
+       size_t derLength() const { return BlobCore::length() - sizeof(BlobCore); }
+
+private:
+       uint8_t data[0];
+};
+
 
 } // end namespace CodeSigning
 } // end namespace Security