MYCertGen.h
author Jens Alfke <jens@mooseyard.com>
Tue Jun 09 23:58:03 2009 -0700 (2009-06-09)
changeset 24 6856e071d25a
parent 4 f4709533c816
permissions -rw-r--r--
* More work on iPhone compatibility.
* Restored the signature-verification code to MYCertInfo, which I'd removed earlier. I now need it to verify self-signed certs, since the Security framework won't do it for me.
* Merged MYCertificate-iPhone.m into MYCertificate.m since there's more shared code now.
     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 //  NOTE: This module has been replaced by MYCertificateInfo, which isn't dependent on
     9 //  CSSM APIs that aren't available on iPhone.
    10 
    11 #import <Foundation/Foundation.h>
    12 #import <Security/Security.h>
    13 
    14 @class MYPublicKey, MYPrivateKey, MYCertificate, MYIdentity;
    15 
    16 
    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);
    24 
    25 NSData* MYCertificateSign(NSData *certificateTemplate, 
    26                           MYPrivateKey *privateKey, 
    27                           CSSM_ALGORITHMS signingAlgorithmID,
    28                           CSSM_CL_HANDLE cssmCLHandle);
    29 
    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);
    38 
    39 CSSM_CL_HANDLE getCLHandle();
    40 
    41 
    42 MYCertificate* MYCertificateCreateSelfSigned(MYPrivateKey *privateKey,
    43                                              NSDictionary *attributes );
    44 MYIdentity* MYIdentityCreateSelfSigned(MYPrivateKey *privateKey,
    45                                        NSDictionary *attributes );