Factored out the name accessors of MYParsedCertificate into a new class MYCertificateName, so that both subject and issuer can be accessed. A bit of other cleanup too.
5 // Created by Jens Alfke on 4/3/09.
6 // Copyright 2009 Jens Alfke. All rights reserved.
10 #import <Foundation/Foundation.h>
11 #import <Security/Security.h>
13 @class MYPublicKey, MYPrivateKey, MYCertificate, MYIdentity;
16 NSData* MYCertificateCreateTemplate(const CSSM_X509_NAME *subject, const CSSM_X509_NAME *issuer,
17 NSDate *validFrom, NSDate *validTo,
18 uint32_t serialNumber,
19 const CSSM_X509_EXTENSION **extensions, unsigned nExtensions,
20 MYPublicKey *publicKey,
21 const CSSM_X509_ALGORITHM_IDENTIFIER *signingAlgorithm,
22 CSSM_CL_HANDLE clHandle);
24 NSData* MYCertificateSign(NSData *certificateTemplate,
25 MYPrivateKey *privateKey,
26 CSSM_ALGORITHMS signingAlgorithmID,
27 CSSM_CL_HANDLE cssmCLHandle);
29 MYCertificate *createCertificate(const CSSM_X509_NAME *subject, const CSSM_X509_NAME *issuer,
30 NSDate *validFrom, NSDate *validTo,
31 uint32_t serialNumber,
32 const CSSM_X509_EXTENSION **extensions, unsigned nExtensions,
33 MYPrivateKey *privateKey,
34 const CSSM_X509_ALGORITHM_IDENTIFIER *signingAlgorithm,
35 CSSM_ALGORITHMS signingAlgorithmID,
36 CSSM_CL_HANDLE cssmCLHandle);
38 CSSM_CL_HANDLE getCLHandle();
41 MYCertificate* MYCertificateCreateSelfSigned(MYPrivateKey *privateKey,
42 NSDictionary *attributes );
43 MYIdentity* MYIdentityCreateSelfSigned(MYPrivateKey *privateKey,
44 NSDictionary *attributes );