]> git.saurik.com Git - apple/security.git/blobdiff - libsecurity_apple_x509_cl/lib/clNssUtils.h
Security-57031.1.35.tar.gz
[apple/security.git] / libsecurity_apple_x509_cl / lib / clNssUtils.h
diff --git a/libsecurity_apple_x509_cl/lib/clNssUtils.h b/libsecurity_apple_x509_cl/lib/clNssUtils.h
deleted file mode 100644 (file)
index 541cb51..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Copyright (c) 2003 Apple Computer, Inc. All Rights Reserved.
- * 
- * The contents of this file constitute Original Code as defined in and are
- * subject to the Apple Public Source License Version 1.2 (the 'License').
- * You may not use this file except in compliance with the License. Please obtain
- * a copy of the License at http://www.apple.com/publicsource and read it before
- * using this file.
- * 
- * This Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
- * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
- * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
- * specific language governing rights and limitations under the License.
- */
-
-/*
- * clNssUtils.h - support for libnssasn1-based ASN1 encode/decode 
- */
-#ifndef        _CL_NSS_UTILS_H_
-#define _CL_NSS_UTILS_H_
-
-#include <security_asn1/SecNssCoder.h>
-#include <Security/certExtensionTemplates.h>
-#include <security_utilities/alloc.h>
-#include <Security/cssm.h>
-#include "DecodedCert.h"
-
-/*
- * A Allocator which is actually based upon a PLArenaPool. This only
- * mallocs, it doesn't have a free - all memory allocated with this
- * object is freed when the SecNssCoder associated with this object is 
- * freed. It's used to malloc the fields in DecodedCert.mCert and 
- * DecodedCrl.mCrl.
- */
-class ArenaAllocator : public Security::Allocator
-{
-       NOCOPY(ArenaAllocator)
-public:
-       ArenaAllocator(SecNssCoder &coder)
-               : mCoder(coder) { }
-       ~ArenaAllocator() { }
-       void *malloc(size_t) throw(std::bad_alloc) ;
-       void free(void *) throw() ;
-       void *realloc(void *, size_t) throw(std::bad_alloc);
-private:
-       SecNssCoder             &mCoder;
-};
-
-/* 
- * Misc. alloc/copy with arbitrary Allocator 
- */
-
-/* malloc d.Data, set d.Length */
-void clAllocData(
-       Allocator       &alloc,
-       CSSM_DATA               &dst,
-       size_t                  len);
-
-/* malloc and copy */
-void clAllocCopyData(
-       Allocator       &alloc,
-       const CSSM_DATA &src,
-       CSSM_DATA               &dst);
-
-/* return true if two CSSM_DATAs (or two CSSM_OIDs) compare equal */
-bool clCompareCssmData(
-       const CSSM_DATA *data1,
-       const CSSM_DATA *data2);
-
-/*
- * CSSM_DATA --> uint32
- */
-uint32 clDataToInt(
-       const CSSM_DATA &cdata, 
-       CSSM_RETURN toThrow = CSSMERR_CL_INVALID_CERT_POINTER);
-void clIntToData(
-       uint32 num,
-       CSSM_DATA &cdata,
-       Allocator &alloc);
-       
-/* CSSM_BOOL <--> CSSM_DATA */
-CSSM_BOOL clNssBoolToCssm(
-       const CSSM_DATA &nssBool);
-void clCssmBoolToNss(
-       CSSM_BOOL cBool,
-       CSSM_DATA &nssBool,
-       Allocator &alloc);
-
-/* Bit String */
-void clCssmBitStringToNss(
-       CSSM_DATA &b);
-void clNssBitStringToCssm(
-       CSSM_DATA &b);
-
-/* How many items in a NULL-terminated array of pointers? */
-unsigned clNssArraySize(
-       const void **array);
-
-/* malloc a NULL-ed array of pointers of size num+1 */
-void **clNssNullArray(
-       uint32 num,
-       SecNssCoder &coder);
-
-CE_KeyUsage clBitStringToKeyUsage(
-       const CSSM_DATA &cdata);
-
-CSSM_ALGORITHMS CL_oidToAlg(
-       const CSSM_OID &oid);
-
-void CL_copyAlgId(
-       const CSSM_X509_ALGORITHM_IDENTIFIER &srcAlgId, 
-       CSSM_X509_ALGORITHM_IDENTIFIER &destAlgId, 
-       Allocator &alloc);
-void CL_freeCssmAlgId(
-       CSSM_X509_ALGORITHM_IDENTIFIER  *cdsaObj,               // optional
-       Allocator                                       &alloc);
-
-
-bool CL_nssTimeToCssm(
-       const NSS_Time      &derTime,
-       CSSM_X509_TIME          &cssmObj,
-       Allocator               &alloc);        
-void CL_cssmTimeToNss(
-       const CSSM_X509_TIME &cssmTime, 
-       NSS_Time                        &nssTime, 
-       SecNssCoder             &coder);
-void CL_freeCssmTime(
-       CSSM_X509_TIME          *cssmTime,
-       Allocator               &alloc);
-
-void CL_nullAlgParams(
-       CSSM_X509_ALGORITHM_IDENTIFIER  &algId);
-
-void CL_copySubjPubKeyInfo(
-       const CSSM_X509_SUBJECT_PUBLIC_KEY_INFO &srcInfo, 
-       bool srcInBits,
-       CSSM_X509_SUBJECT_PUBLIC_KEY_INFO &dstInfo, 
-       bool dstInBits,
-       Allocator &alloc);
-CSSM_KEY_PTR CL_extractCSSMKeyNSS(
-       const CSSM_X509_SUBJECT_PUBLIC_KEY_INFO &keyInfo,
-       Allocator                               &alloc,
-       const DecodedCert               *decodedCert);                  // optional
-void CL_CSSMKeyToSubjPubKeyInfoNSS(
-       const CSSM_KEY                                          &cssmKey,
-       CSSM_X509_SUBJECT_PUBLIC_KEY_INFO       &nssKeyInfo,
-       SecNssCoder                                                     &coder);
-void CL_freeCSSMKey(
-       CSSM_KEY_PTR            cssmKey,
-       Allocator                       &alloc,
-       bool                            freeTop = true);        // delete the actual key
-                                                                                       // as well as contents
-                                                                                       
-void CL_cssmAuthorityKeyIdToNss(
-       const CE_AuthorityKeyID         &cdsaObj,
-       NSS_AuthorityKeyId                      &nssObj,
-       SecNssCoder                             &coder);
-void CL_nssAuthorityKeyIdToCssm(
-       const NSS_AuthorityKeyId        &nssObj,
-       CE_AuthorityKeyID                       &cdsaObj,
-       SecNssCoder                             &coder, // for temp decoding
-       Allocator                                       &alloc);
-
-void CL_cssmInfoAccessToNss(
-       const CE_AuthorityInfoAccess    &cdsaObj,
-       NSS_AuthorityInfoAccess                 &nssObj,
-       SecNssCoder                                             &coder);
-void CL_infoAccessToCssm(
-       const NSS_AuthorityInfoAccess   &nssObj,
-       CE_AuthorityInfoAccess                  &cdsaObj,
-       SecNssCoder                                             &coder, // for temp decoding
-       Allocator                                               &alloc);
-void CL_freeInfoAccess(
-       CE_AuthorityInfoAccess                  &cssmInfo,
-       Allocator                                               &alloc);
-
-void CL_cssmQualCertStatementsToNss(
-       const CE_QC_Statements          &cdsaObj,
-       NSS_QC_Statements                       &nssObj,
-       SecNssCoder                             &coder);
-void CL_qualCertStatementsToCssm(
-       const NSS_QC_Statements         &nssObj,
-       CE_QC_Statements                        &cdsaObj,
-       SecNssCoder                             &coder, // for temp decoding
-       Allocator                                       &alloc);
-void CL_freeQualCertStatements(
-       CE_QC_Statements                        &cssmQCs,
-       Allocator                                       &alloc);
-
-void CL_decodeDistributionPointName(
-       const CSSM_DATA                         &nssBlob,
-       CE_DistributionPointName        &cssmDpn,
-       SecNssCoder                                     &coder,
-       Allocator                                       &alloc);
-void CL_encodeDistributionPointName(
-       CE_DistributionPointName        &cpoint,
-       CSSM_DATA                                       &npoint,
-       SecNssCoder                             &coder);
-void CL_cssmDistPointsToNss(
-       const CE_CRLDistPointsSyntax    &cdsaObj,
-       NSS_CRLDistributionPoints               &nssObj,
-       SecNssCoder                                     &coder);
-void CL_nssDistPointsToCssm(
-       const NSS_CRLDistributionPoints &nssObj,
-       CE_CRLDistPointsSyntax                  &cdsaObj,
-       SecNssCoder                                     &coder, // for temp decoding
-       Allocator                                               &alloc);
-
-void CL_nssIssuingDistPointToCssm(
-       NSS_IssuingDistributionPoint    *nssIdp,
-       CE_IssuingDistributionPoint             *cssmIdp,
-       SecNssCoder                                             &coder,
-       Allocator                                               &alloc);
-
-void CL_cssmNameConstraintsToNss(
-       const CE_NameConstraints                &cdsaObj,
-       NSS_NameConstraints                             &nssObj,
-       SecNssCoder                                     &coder);
-void CL_nssNameConstraintsToCssm(
-       const NSS_NameConstraints               &nssObj,
-       CE_NameConstraints                              &cdsaObj,
-       SecNssCoder                                     &coder, // for temp decoding
-       Allocator                                               &alloc);
-void CL_freeCssmNameConstraints(
-       CE_NameConstraints                              *cssmNcs,
-       Allocator                                               &alloc);
-
-void CL_cssmPolicyMappingsToNss(
-       const CE_PolicyMappings                 &cdsaObj,
-       NSS_PolicyMappings                              &nssObj,
-       SecNssCoder                                             &coder);
-void CL_nssPolicyMappingsToCssm(
-       const NSS_PolicyMappings                &nssObj,
-       CE_PolicyMappings                               &cdsaObj,
-       SecNssCoder                                     &coder, // for temp decoding
-       Allocator                                               &alloc);
-void CL_freeCssmPolicyMappings(
-       CE_PolicyMappings                               *cssmPms,
-       Allocator                                               &alloc);
-
-void CL_cssmPolicyConstraintsToNss(
-       const CE_PolicyConstraints              *cdsaObj,
-       NSS_PolicyConstraints                   *nssObj,
-       SecNssCoder                                             &coder);
-void CL_nssPolicyConstraintsToCssm(
-       const NSS_PolicyConstraints             *nssObj,
-       CE_PolicyConstraints                    *cdsaObj,
-       SecNssCoder                                     &coder, // for temp decoding
-       Allocator                                               &alloc);
-void CL_freeCssmPolicyConstraints(
-       CE_PolicyConstraints                    *cssmPcs,
-       Allocator                                               &alloc);
-
-CSSM_ALGORITHMS CL_nssDecodeECDSASigAlgParams(
-       const CSSM_DATA &algParams,
-       SecNssCoder &coder);
-
-void CL_certCrlDecodeComponents(
-       const CssmData  &signedItem,            // DER-encoded cert or CRL
-       CssmOwnedData   &tbsBlob,                       // still DER-encoded
-       CssmOwnedData   &algId,                         // ditto
-       CssmOwnedData   &rawSig);                       // raw bits (not an encoded AsnBits)
-void 
-CL_certEncodeComponents(
-       const CssmData          &TBSCert,               // DER-encoded
-       const CssmData          &algId,                 // ditto
-       const CssmData          &rawSig,                // raw bits, not encoded
-       CssmOwnedData           &signedCert);   // DER-encoded
-
-#endif /* _CL_NSS_UTILS_H_ */