MYCrypto / MYCertGen.h

//
//  MYCertGen.h
//  MYCrypto
//
//  Created by Jens Alfke on 4/3/09.
//  Copyright 2009 Jens Alfke. All rights reserved.
//
//  Derived from ...

#import <Foundation/Foundation.h>
#import <Security/Security.h>

@class MYPublicKey, MYPrivateKey, MYCertificate, MYIdentity;


NSData* MYCertificateCreateTemplate(const CSSM_X509_NAME *subject, const CSSM_X509_NAME *issuer,
                                    NSDate *validFrom, NSDate *validTo,
                                    uint32_t serialNumber,
                                    const CSSM_X509_EXTENSION **extensions, unsigned nExtensions,
                                    MYPublicKey *publicKey,
                                    const CSSM_X509_ALGORITHM_IDENTIFIER *signingAlgorithm,
                                    CSSM_CL_HANDLE clHandle);

NSData* MYCertificateSign(NSData *certificateTemplate, 
                          MYPrivateKey *privateKey, 
                          CSSM_ALGORITHMS signingAlgorithmID,
                          CSSM_CL_HANDLE cssmCLHandle);

MYCertificate *createCertificate(const CSSM_X509_NAME *subject, const CSSM_X509_NAME *issuer,
                                 NSDate *validFrom, NSDate *validTo,
                                 uint32_t serialNumber,
                                 const CSSM_X509_EXTENSION **extensions, unsigned nExtensions,
                                 MYPrivateKey *privateKey, 
                                 const CSSM_X509_ALGORITHM_IDENTIFIER *signingAlgorithm,
                                 CSSM_ALGORITHMS signingAlgorithmID,
                                 CSSM_CL_HANDLE cssmCLHandle);

CSSM_CL_HANDLE getCLHandle();


MYCertificate* MYCertificateCreateSelfSigned(MYPrivateKey *privateKey,
                                             NSDictionary *attributes );
MYIdentity* MYIdentityCreateSelfSigned(MYPrivateKey *privateKey,
                                       NSDictionary *attributes );
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.