Mercurial > projects > dstep
view dstep/security/x509defs.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Jul 22, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.security.x509defs; import dstep.security.cssmtype; alias ubyte CSSM_BER_TAG; alias int CSSM_X509_OPTION; alias CSSM_X509_TYPE_VALUE_PAIR* CSSM_X509_TYPE_VALUE_PAIR_PTR; alias CSSM_X509_RDN* CSSM_X509_RDN_PTR; alias CSSM_X509_EXTENSION* CSSM_X509_EXTENSION_PTR; alias extension_data_format CSSM_X509EXT_DATA_FORMAT; alias CSSM_X509_REVOKED_CERT_ENTRY* CSSM_X509_REVOKED_CERT_ENTRY_PTR; alias CSSM_X509_REVOKED_CERT_LIST* CSSM_X509_REVOKED_CERT_LIST_PTR; alias CSSM_X509_NAME* CSSM_X509_NAME_PTR; enum extension_data_format { CSSM_X509_DATAFORMAT_ENCODED = 0, CSSM_X509_DATAFORMAT_PARSED, CSSM_X509_DATAFORMAT_PAIR } struct CSSM_X509_ALGORITHM_IDENTIFIER { CSSM_OID algorithm; CSSM_DATA parameters; } struct CSSM_X509_TYPE_VALUE_PAIR { CSSM_OID type; ubyte valueType; CSSM_DATA value; } struct CSSM_X509_RDN { uint numberOfPairs; CSSM_X509_TYPE_VALUE_PAIR_PTR AttributeTypeAndValue; } struct CSSM_X509_NAME { uint numberOfRDNs; CSSM_X509_RDN_PTR RelativeDistinguishedName; } struct CSSM_X509_SUBJECT_PUBLIC_KEY_INFO { CSSM_X509_ALGORITHM_IDENTIFIER algorithm; CSSM_DATA subjectPublicKey; } struct CSSM_X509_TIME { ubyte timeType; CSSM_DATA time; } struct CSSM_X509_VALIDITY { CSSM_X509_TIME notBefore; CSSM_X509_TIME notAfter; } struct CSSM_X509EXT_BASICCONSTRAINTS { int cA; int pathLenConstraintPresent; uint pathLenConstraint; } struct CSSM_X509EXT_TAGandVALUE { ubyte type; CSSM_DATA value; } struct CSSM_X509EXT_PAIR { CSSM_X509EXT_TAGandVALUE tagAndValue; void* parsedValue; } struct CSSM_X509_EXTENSION { CSSM_OID extnId; CSSM_BOOL critical; CSSM_X509EXT_DATA_FORMAT format; union cssm_x509ext_value { CSSM_X509EXT_TAGandVALUE* tagAndValue; void* parsedValue; CSSM_X509EXT_PAIR* valuePair; } cssm_x509ext_value value; CSSM_DATA BERvalue; } struct CSSM_X509_EXTENSIONS { uint numberOfExtensions; CSSM_X509_EXTENSION_PTR extensions; } struct CSSM_X509_TBS_CERTIFICATE { CSSM_DATA version_; CSSM_DATA serialNumber; CSSM_X509_ALGORITHM_IDENTIFIER signature; CSSM_X509_NAME issuer; CSSM_X509_VALIDITY validity; CSSM_X509_NAME subject; CSSM_X509_SUBJECT_PUBLIC_KEY_INFO subjectPublicKeyInfo; CSSM_DATA issuerUniqueIdentifier; CSSM_DATA subjectUniqueIdentifier; CSSM_X509_EXTENSIONS extensions; } struct CSSM_X509_SIGNATURE { CSSM_X509_ALGORITHM_IDENTIFIER algorithmIdentifier; CSSM_DATA encrypted; } struct CSSM_X509_SIGNED_CERTIFICATE { CSSM_X509_TBS_CERTIFICATE certificate; CSSM_X509_SIGNATURE signature; } struct CSSM_X509EXT_POLICYQUALIFIERINFO { CSSM_OID policyQualifierId; CSSM_DATA value; } struct CSSM_X509EXT_POLICYQUALIFIERS { uint numberOfPolicyQualifiers; CSSM_X509EXT_POLICYQUALIFIERINFO* policyQualifier; } struct CSSM_X509EXT_POLICYINFO { CSSM_OID policyIdentifier; CSSM_X509EXT_POLICYQUALIFIERS policyQualifiers; } struct CSSM_X509_REVOKED_CERT_ENTRY { CSSM_DATA certificateSerialNumber; CSSM_X509_TIME revocationDate; CSSM_X509_EXTENSIONS extensions; } struct CSSM_X509_REVOKED_CERT_LIST { uint numberOfRevokedCertEntries; CSSM_X509_REVOKED_CERT_ENTRY_PTR revokedCertEntry; } struct CSSM_X509_TBS_CERTLIST { CSSM_DATA version_; CSSM_X509_ALGORITHM_IDENTIFIER signature; CSSM_X509_NAME issuer; CSSM_X509_TIME thisUpdate; CSSM_X509_TIME nextUpdate; CSSM_X509_REVOKED_CERT_LIST_PTR revokedCertificates; CSSM_X509_EXTENSIONS extensions; } struct CSSM_X509_SIGNED_CRL { CSSM_X509_TBS_CERTLIST tbsCertList; CSSM_X509_SIGNATURE signature; }