Changed the X.509 version number in generated certs from 1 to 3, so that SecCertificateCreateFromData on iPhone will accept them. :-/
5 // Created by Jens Alfke on 4/3/09.
6 // Copyright 2009 Jens Alfke. All rights reserved.
8 // NOTE: This module has been replaced by MYCertificateInfo, which isn't dependent on
9 // CSSM APIs that aren't available on iPhone.
11 #import <Foundation/Foundation.h>
12 #import <Security/Security.h>
14 @class MYPublicKey, MYPrivateKey, MYCertificate, MYIdentity;
17 NSData* MYCertificateCreateTemplate(const CSSM_X509_NAME *subject, const CSSM_X509_NAME *issuer,
18 NSDate *validFrom, NSDate *validTo,
19 uint32_t serialNumber,
20 const CSSM_X509_EXTENSION **extensions, unsigned nExtensions,
21 MYPublicKey *publicKey,
22 const CSSM_X509_ALGORITHM_IDENTIFIER *signingAlgorithm,
23 CSSM_CL_HANDLE clHandle);
25 NSData* MYCertificateSign(NSData *certificateTemplate,
26 MYPrivateKey *privateKey,
27 CSSM_ALGORITHMS signingAlgorithmID,
28 CSSM_CL_HANDLE cssmCLHandle);
30 MYCertificate *createCertificate(const CSSM_X509_NAME *subject, const CSSM_X509_NAME *issuer,
31 NSDate *validFrom, NSDate *validTo,
32 uint32_t serialNumber,
33 const CSSM_X509_EXTENSION **extensions, unsigned nExtensions,
34 MYPrivateKey *privateKey,
35 const CSSM_X509_ALGORITHM_IDENTIFIER *signingAlgorithm,
36 CSSM_ALGORITHMS signingAlgorithmID,
37 CSSM_CL_HANDLE cssmCLHandle);
39 CSSM_CL_HANDLE getCLHandle();
42 MYCertificate* MYCertificateCreateSelfSigned(MYPrivateKey *privateKey,
43 NSDictionary *attributes );
44 MYIdentity* MYIdentityCreateSelfSigned(MYPrivateKey *privateKey,
45 NSDictionary *attributes );