MYCertGen.h
author snej@snej.local
Thu Apr 09 22:46:48 2009 -0700 (2009-04-09)
changeset 6 2d7692f9b6b4
child 22 058394513f33
permissions -rw-r--r--
Updated the README for the 0.1 release.
snej@4
     1
//
snej@4
     2
//  MYCertGen.h
snej@4
     3
//  MYCrypto
snej@4
     4
//
snej@4
     5
//  Created by Jens Alfke on 4/3/09.
snej@4
     6
//  Copyright 2009 Jens Alfke. All rights reserved.
snej@4
     7
//
snej@4
     8
//  Derived from ...
snej@4
     9
snej@4
    10
#import <Foundation/Foundation.h>
snej@4
    11
#import <Security/Security.h>
snej@4
    12
snej@4
    13
@class MYPublicKey, MYPrivateKey, MYCertificate, MYIdentity;
snej@4
    14
snej@4
    15
snej@4
    16
NSData* MYCertificateCreateTemplate(const CSSM_X509_NAME *subject, const CSSM_X509_NAME *issuer,
snej@4
    17
                                    NSDate *validFrom, NSDate *validTo,
snej@4
    18
                                    uint32_t serialNumber,
snej@4
    19
                                    const CSSM_X509_EXTENSION **extensions, unsigned nExtensions,
snej@4
    20
                                    MYPublicKey *publicKey,
snej@4
    21
                                    const CSSM_X509_ALGORITHM_IDENTIFIER *signingAlgorithm,
snej@4
    22
                                    CSSM_CL_HANDLE clHandle);
snej@4
    23
snej@4
    24
NSData* MYCertificateSign(NSData *certificateTemplate, 
snej@4
    25
                          MYPrivateKey *privateKey, 
snej@4
    26
                          CSSM_ALGORITHMS signingAlgorithmID,
snej@4
    27
                          CSSM_CL_HANDLE cssmCLHandle);
snej@4
    28
snej@4
    29
MYCertificate *createCertificate(const CSSM_X509_NAME *subject, const CSSM_X509_NAME *issuer,
snej@4
    30
                                 NSDate *validFrom, NSDate *validTo,
snej@4
    31
                                 uint32_t serialNumber,
snej@4
    32
                                 const CSSM_X509_EXTENSION **extensions, unsigned nExtensions,
snej@4
    33
                                 MYPrivateKey *privateKey, 
snej@4
    34
                                 const CSSM_X509_ALGORITHM_IDENTIFIER *signingAlgorithm,
snej@4
    35
                                 CSSM_ALGORITHMS signingAlgorithmID,
snej@4
    36
                                 CSSM_CL_HANDLE cssmCLHandle);
snej@4
    37
snej@4
    38
CSSM_CL_HANDLE getCLHandle();
snej@4
    39
snej@4
    40
snej@4
    41
MYCertificate* MYCertificateCreateSelfSigned(MYPrivateKey *privateKey,
snej@4
    42
                                             NSDictionary *attributes );
snej@4
    43
MYIdentity* MYIdentityCreateSelfSigned(MYPrivateKey *privateKey,
snej@4
    44
                                       NSDictionary *attributes );