(Objective-C) Example: Crypt2.GetSignedAttributes method
Demonstrates how to call the GetSignedAttributes method.
#import <CkoCrypt2.h>
#import <CkoBinData.h>
#import <CkoJsonObject.h>
#import <CkoStringBuilder.h>
CkoCrypt2 *crypt = [[CkoCrypt2 alloc] init];
CkoBinData *bdPkcs7 = [[CkoBinData alloc] init];
BOOL success = [bdPkcs7 LoadFile: @"qa_data/cades/CAdES-T/Signature-C-T-1.p7m"];
if (success == NO) {
NSLog(@"%@",bdPkcs7.LastErrorText);
return;
}
CkoJsonObject *json = [[CkoJsonObject alloc] init];
json.EmitCompact = NO;
CkoStringBuilder *sbJson = [[CkoStringBuilder alloc] init];
int i = 0;
BOOL tryNext = YES;
while (tryNext) {
if ([crypt GetSignedAttributes: [NSNumber numberWithInt: i] pkcs7Der: bdPkcs7 sbJson: sbJson] == YES) {
[json LoadSb: sbJson];
NSLog(@"%d%@",i,@": ");
NSLog(@"%@",[json Emit]);
}
else {
tryNext = NO;
}
i = i + 1;
}
// Sample output:
// 0:
// {
// "signedAttributes": [
// {
// "oid": "1.2.840.113549.1.9.3",
// "name": "Content Type"
// },
// {
// "oid": "1.2.840.113549.1.9.5",
// "name": "Signing Time"
// },
// {
// "oid": "1.2.840.113549.1.9.4",
// "name": "Message Digest"
// },
// {
// "oid": "1.2.840.113549.1.9.16.2.47",
// "name": "Signing Certificate V2"
// }
// ]
// }
|