MYCertGen.h
author Jens Alfke <jens@mooseyard.com>
Fri Jun 05 08:57:18 2009 -0700 (2009-06-05)
changeset 20 df9da0f6b358
child 22 058394513f33
permissions -rw-r--r--
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.
     1 //
     2 //  MYCertGen.h
     3 //  MYCrypto
     4 //
     5 //  Created by Jens Alfke on 4/3/09.
     6 //  Copyright 2009 Jens Alfke. All rights reserved.
     7 //
     8 //  Derived from ...
     9 
    10 #import <Foundation/Foundation.h>
    11 #import <Security/Security.h>
    12 
    13 @class MYPublicKey, MYPrivateKey, MYCertificate, MYIdentity;
    14 
    15 
    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);
    23 
    24 NSData* MYCertificateSign(NSData *certificateTemplate, 
    25                           MYPrivateKey *privateKey, 
    26                           CSSM_ALGORITHMS signingAlgorithmID,
    27                           CSSM_CL_HANDLE cssmCLHandle);
    28 
    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);
    37 
    38 CSSM_CL_HANDLE getCLHandle();
    39 
    40 
    41 MYCertificate* MYCertificateCreateSelfSigned(MYPrivateKey *privateKey,
    42                                              NSDictionary *attributes );
    43 MYIdentity* MYIdentityCreateSelfSigned(MYPrivateKey *privateKey,
    44                                        NSDictionary *attributes );