@class NSArray, NSData, MSAlgorithmIdentifier, NSNumber; @interface MSCMSRecipientInfo : NSObject @property (retain) NSNumber *version; @property (retain) NSArray *encryptedKeys; @property (retain) NSData *userKeyingMaterial; @property (retain) NSArray *algorithmCapabilities; @property (retain) MSAlgorithmIdentifier *keyEncryptionAlgorithm; @property (nonatomic) struct __SecCertificate { } *recipientCertificate; @property (retain) NSArray *recipientCertificates; @property (nonatomic) struct __SecCertificate { } *originator; @property (retain) NSData *originatorPubKey; + (id)decodeKeyAgreeRecipientInfo:(struct RecipientInfo { int x0; union { struct KeyTransRecipientInfo { int x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x2; struct heim_base_data { unsigned long long x0; void *x1; } x3; } x0; struct KeyAgreeRecipientInfo { int x0; struct OriginatorIdentifierOrKey { int x0; union { struct IssuerAndSerialNumber { struct heim_base_data { unsigned long long x0; void *x1; } x0; struct heim_integer { unsigned long long x0; void *x1; int x2; } x1; } x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct OriginatorPublicKey { struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x0; struct heim_bit_string { unsigned long long x0; void *x1; } x1; } x2; } x1; } x1; struct heim_base_data *x2; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x3; struct RecipientEncryptedKeys { unsigned int x0; struct RecipientEncryptedKey *x1; } x4; } x1; } x1; } *)a0 certificates:(id)a1 LAContext:(id)a2 error:(id *)a3; + (id)decodeKeyTransRecipientInfo:(struct RecipientInfo { int x0; union { struct KeyTransRecipientInfo { int x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x2; struct heim_base_data { unsigned long long x0; void *x1; } x3; } x0; struct KeyAgreeRecipientInfo { int x0; struct OriginatorIdentifierOrKey { int x0; union { struct IssuerAndSerialNumber { struct heim_base_data { unsigned long long x0; void *x1; } x0; struct heim_integer { unsigned long long x0; void *x1; int x2; } x1; } x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct OriginatorPublicKey { struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x0; struct heim_bit_string { unsigned long long x0; void *x1; } x1; } x2; } x1; } x1; struct heim_base_data *x2; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x3; struct RecipientEncryptedKeys { unsigned int x0; struct RecipientEncryptedKey *x1; } x4; } x1; } x1; } *)a0 certificates:(id)a1 LAContext:(id)a2 error:(id *)a3; + (id)decodeRecipientInfo:(struct RecipientInfo { int x0; union { struct KeyTransRecipientInfo { int x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x2; struct heim_base_data { unsigned long long x0; void *x1; } x3; } x0; struct KeyAgreeRecipientInfo { int x0; struct OriginatorIdentifierOrKey { int x0; union { struct IssuerAndSerialNumber { struct heim_base_data { unsigned long long x0; void *x1; } x0; struct heim_integer { unsigned long long x0; void *x1; int x2; } x1; } x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct OriginatorPublicKey { struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x0; struct heim_bit_string { unsigned long long x0; void *x1; } x1; } x2; } x1; } x1; struct heim_base_data *x2; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x3; struct RecipientEncryptedKeys { unsigned int x0; struct RecipientEncryptedKey *x1; } x4; } x1; } x1; } *)a0 certificates:(id)a1 LAContext:(id)a2 error:(id *)a3; - (void)dealloc; - (id)initWithCertificate:(struct __SecCertificate { } *)a0; - (id)key; - (void).cxx_destruct; - (id)initWithEmail:(id)a0; - (id)initWithCertificate:(struct __SecCertificate { } *)a0 algorithmCapabilities:(id)a1; - (id)encryptBulkKey:(id)a0; - (struct __CFData { } *)keyEncryptionKey:(id)a0 forEncryption:(BOOL)a1; - (BOOL)encodeKeyAgreeRecipientInfo:(id)a0 recipientInfo:(struct RecipientInfo { int x0; union { struct KeyTransRecipientInfo { int x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x2; struct heim_base_data { unsigned long long x0; void *x1; } x3; } x0; struct KeyAgreeRecipientInfo { int x0; struct OriginatorIdentifierOrKey { int x0; union { struct IssuerAndSerialNumber { struct heim_base_data { unsigned long long x0; void *x1; } x0; struct heim_integer { unsigned long long x0; void *x1; int x2; } x1; } x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct OriginatorPublicKey { struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x0; struct heim_bit_string { unsigned long long x0; void *x1; } x1; } x2; } x1; } x1; struct heim_base_data *x2; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x3; struct RecipientEncryptedKeys { unsigned int x0; struct RecipientEncryptedKey *x1; } x4; } x1; } x1; } *)a1 error:(id *)a2; - (BOOL)encodeKeyTransRecipientInfo:(id)a0 recipientInfo:(struct RecipientInfo { int x0; union { struct KeyTransRecipientInfo { int x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x2; struct heim_base_data { unsigned long long x0; void *x1; } x3; } x0; struct KeyAgreeRecipientInfo { int x0; struct OriginatorIdentifierOrKey { int x0; union { struct IssuerAndSerialNumber { struct heim_base_data { unsigned long long x0; void *x1; } x0; struct heim_integer { unsigned long long x0; void *x1; int x2; } x1; } x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct OriginatorPublicKey { struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x0; struct heim_bit_string { unsigned long long x0; void *x1; } x1; } x2; } x1; } x1; struct heim_base_data *x2; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x3; struct RecipientEncryptedKeys { unsigned int x0; struct RecipientEncryptedKey *x1; } x4; } x1; } x1; } *)a1 error:(id *)a2; - (BOOL)encodeRecipientInfo:(id)a0 recipientInfo:(struct RecipientInfo { int x0; union { struct KeyTransRecipientInfo { int x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x2; struct heim_base_data { unsigned long long x0; void *x1; } x3; } x0; struct KeyAgreeRecipientInfo { int x0; struct OriginatorIdentifierOrKey { int x0; union { struct IssuerAndSerialNumber { struct heim_base_data { unsigned long long x0; void *x1; } x0; struct heim_integer { unsigned long long x0; void *x1; int x2; } x1; } x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct OriginatorPublicKey { struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x0; struct heim_bit_string { unsigned long long x0; void *x1; } x1; } x2; } x1; } x1; struct heim_base_data *x2; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x3; struct RecipientEncryptedKeys { unsigned int x0; struct RecipientEncryptedKey *x1; } x4; } x1; } x1; } *)a1 error:(id *)a2; - (void)freeKeyTransRecipientInfo:(const struct RecipientInfo { int x0; union { struct KeyTransRecipientInfo { int x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x2; struct heim_base_data { unsigned long long x0; void *x1; } x3; } x0; struct KeyAgreeRecipientInfo { int x0; struct OriginatorIdentifierOrKey { int x0; union { struct IssuerAndSerialNumber { struct heim_base_data { unsigned long long x0; void *x1; } x0; struct heim_integer { unsigned long long x0; void *x1; int x2; } x1; } x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct OriginatorPublicKey { struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x0; struct heim_bit_string { unsigned long long x0; void *x1; } x1; } x2; } x1; } x1; struct heim_base_data *x2; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x3; struct RecipientEncryptedKeys { unsigned int x0; struct RecipientEncryptedKey *x1; } x4; } x1; } x1; } *)a0; - (void)freeRecipientInfo:(const struct RecipientInfo { int x0; union { struct KeyTransRecipientInfo { int x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x2; struct heim_base_data { unsigned long long x0; void *x1; } x3; } x0; struct KeyAgreeRecipientInfo { int x0; struct OriginatorIdentifierOrKey { int x0; union { struct IssuerAndSerialNumber { struct heim_base_data { unsigned long long x0; void *x1; } x0; struct heim_integer { unsigned long long x0; void *x1; int x2; } x1; } x0; struct heim_base_data { unsigned long long x0; void *x1; } x1; struct OriginatorPublicKey { struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x0; struct heim_bit_string { unsigned long long x0; void *x1; } x1; } x2; } x1; } x1; struct heim_base_data *x2; struct AlgorithmIdentifier { struct heim_oid { unsigned long long x0; unsigned int *x1; } x0; struct heim_base_data *x1; } x3; struct RecipientEncryptedKeys { unsigned int x0; struct RecipientEncryptedKey *x1; } x4; } x1; } x1; } *)a0; - (id)initWithCertificate:(struct __SecCertificate { } *)a0 keyEncryptionAlgorithm:(id)a1 keyWrapAlgorithm:(id)a2; - (id)initWithCertificate:(struct __SecCertificate { } *)a0 legacyKeyWrapAlgorithm:(BOOL)a1; - (id)initWithEmail:(id)a0 algorithmCapabilities:(id)a1; - (id)initWithEmail:(id)a0 keyEncryptionAlgorithm:(id)a1; @end