X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/ce3c8656732c924baf7e88df75eab50891bdc471..fa7225c82381bac4432a6edf16f53b5370238d85:/OSX/libsecurity_cdsa_plugin/lib/CLabstractsession.cpp diff --git a/OSX/libsecurity_cdsa_plugin/lib/CLabstractsession.cpp b/OSX/libsecurity_cdsa_plugin/lib/CLabstractsession.cpp new file mode 100644 index 00000000..bfb5e7fe --- /dev/null +++ b/OSX/libsecurity_cdsa_plugin/lib/CLabstractsession.cpp @@ -0,0 +1,548 @@ +// +// CL plugin transition layer. +// This file was automatically generated. Do not edit on penalty of futility! +// +#include +#include +#include +#include + + +CLAbstractPluginSession::~CLAbstractPluginSession() +{ /* virtual */ } + +static CSSM_RETURN CSSMCLI cssm_CertGetFirstFieldValue(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Cert, + const CSSM_OID *CertField, + CSSM_HANDLE_PTR ResultsHandle, + uint32 *NumberOfMatchedFields, + CSSM_DATA_PTR *Value) +{ + BEGIN_API + if ((Required(ResultsHandle) = findSession(CLHandle).CertGetFirstFieldValue(CssmData::required(Cert), + CssmData::required(CertField), + Required(NumberOfMatchedFields), + Required(Value))) == CSSM_INVALID_HANDLE) + return CSSMERR_CL_NO_FIELD_VALUES; + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_PassThrough(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + uint32 PassThroughId, + const void *InputParams, + void **OutputParams) +{ + BEGIN_API + findSession(CLHandle).PassThrough(CCHandle, + PassThroughId, + InputParams, + OutputParams); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertGetNextCachedFieldValue(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE ResultsHandle, + CSSM_DATA_PTR *Value) +{ + BEGIN_API + if (!findSession(CLHandle).CertGetNextCachedFieldValue(ResultsHandle, + Required(Value))) + return CSSMERR_CL_NO_FIELD_VALUES; + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlCreateTemplate(CSSM_CL_HANDLE CLHandle, + uint32 NumberOfFields, + const CSSM_FIELD *CrlTemplate, + CSSM_DATA_PTR NewCrl) +{ + BEGIN_API + findSession(CLHandle).CrlCreateTemplate(NumberOfFields, + CrlTemplate, + CssmData::required(NewCrl)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertSign(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_DATA *CertTemplate, + const CSSM_FIELD *SignScope, + uint32 ScopeSize, + CSSM_DATA_PTR SignedCert) +{ + BEGIN_API + findSession(CLHandle).CertSign(CCHandle, + CssmData::required(CertTemplate), + SignScope, + ScopeSize, + CssmData::required(SignedCert)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlGetFirstFieldValue(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Crl, + const CSSM_OID *CrlField, + CSSM_HANDLE_PTR ResultsHandle, + uint32 *NumberOfMatchedFields, + CSSM_DATA_PTR *Value) +{ + BEGIN_API + if ((Required(ResultsHandle) = findSession(CLHandle).CrlGetFirstFieldValue(CssmData::required(Crl), + CssmData::required(CrlField), + Required(NumberOfMatchedFields), + Required(Value))) == CSSM_INVALID_HANDLE) + return CSSMERR_CL_NO_FIELD_VALUES; + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlGetNextFieldValue(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE ResultsHandle, + CSSM_DATA_PTR *Value) +{ + BEGIN_API + if (!findSession(CLHandle).CrlGetNextFieldValue(ResultsHandle, + Required(Value))) + return CSSMERR_CL_NO_FIELD_VALUES; + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_FreeFields(CSSM_CL_HANDLE CLHandle, + uint32 NumberOfFields, + CSSM_FIELD_PTR *FieldArray) +{ + BEGIN_API + findSession(CLHandle).FreeFields(NumberOfFields, + Required(FieldArray)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlGetAllFields(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Crl, + uint32 *NumberOfCrlFields, + CSSM_FIELD_PTR *CrlFields) +{ + BEGIN_API + findSession(CLHandle).CrlGetAllFields(CssmData::required(Crl), + Required(NumberOfCrlFields), + Required(CrlFields)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlAbortCache(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE CrlHandle) +{ + BEGIN_API + findSession(CLHandle).CrlAbortCache(CrlHandle); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertGetAllTemplateFields(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *CertTemplate, + uint32 *NumberOfFields, + CSSM_FIELD_PTR *CertFields) +{ + BEGIN_API + findSession(CLHandle).CertGetAllTemplateFields(CssmData::required(CertTemplate), + Required(NumberOfFields), + Required(CertFields)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlSetFields(CSSM_CL_HANDLE CLHandle, + uint32 NumberOfFields, + const CSSM_FIELD *CrlTemplate, + const CSSM_DATA *OldCrl, + CSSM_DATA_PTR ModifiedCrl) +{ + BEGIN_API + findSession(CLHandle).CrlSetFields(NumberOfFields, + CrlTemplate, + CssmData::required(OldCrl), + CssmData::required(ModifiedCrl)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertGetAllFields(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Cert, + uint32 *NumberOfFields, + CSSM_FIELD_PTR *CertFields) +{ + BEGIN_API + findSession(CLHandle).CertGetAllFields(CssmData::required(Cert), + Required(NumberOfFields), + Required(CertFields)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlAddCert(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_DATA *Cert, + uint32 NumberOfFields, + const CSSM_FIELD *CrlEntryFields, + const CSSM_DATA *OldCrl, + CSSM_DATA_PTR NewCrl) +{ + BEGIN_API + findSession(CLHandle).CrlAddCert(CCHandle, + CssmData::required(Cert), + NumberOfFields, + CrlEntryFields, + CssmData::required(OldCrl), + CssmData::required(NewCrl)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_IsCertInCachedCrl(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Cert, + CSSM_HANDLE CrlHandle, + CSSM_BOOL *CertFound, + CSSM_DATA_PTR CrlRecordIndex) +{ + BEGIN_API + findSession(CLHandle).IsCertInCachedCrl(CssmData::required(Cert), + CrlHandle, + Required(CertFound), + CssmData::required(CrlRecordIndex)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlSign(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_DATA *UnsignedCrl, + const CSSM_FIELD *SignScope, + uint32 ScopeSize, + CSSM_DATA_PTR SignedCrl) +{ + BEGIN_API + findSession(CLHandle).CrlSign(CCHandle, + CssmData::required(UnsignedCrl), + SignScope, + ScopeSize, + CssmData::required(SignedCrl)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertAbortQuery(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE ResultsHandle) +{ + BEGIN_API + findSession(CLHandle).CertAbortQuery(ResultsHandle); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertGetNextFieldValue(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE ResultsHandle, + CSSM_DATA_PTR *Value) +{ + BEGIN_API + if (!findSession(CLHandle).CertGetNextFieldValue(ResultsHandle, + Required(Value))) + return CSSMERR_CL_NO_FIELD_VALUES; + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertCreateTemplate(CSSM_CL_HANDLE CLHandle, + uint32 NumberOfFields, + const CSSM_FIELD *CertFields, + CSSM_DATA_PTR CertTemplate) +{ + BEGIN_API + findSession(CLHandle).CertCreateTemplate(NumberOfFields, + CertFields, + CssmData::required(CertTemplate)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertCache(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Cert, + CSSM_HANDLE_PTR CertHandle) +{ + BEGIN_API + findSession(CLHandle).CertCache(CssmData::required(Cert), + Required(CertHandle)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlVerifyWithKey(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_DATA *CrlToBeVerified) +{ + BEGIN_API + findSession(CLHandle).CrlVerifyWithKey(CCHandle, + CssmData::required(CrlToBeVerified)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlGetAllCachedRecordFields(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE CrlHandle, + const CSSM_DATA *CrlRecordIndex, + uint32 *NumberOfFields, + CSSM_FIELD_PTR *CrlFields) +{ + BEGIN_API + findSession(CLHandle).CrlGetAllCachedRecordFields(CrlHandle, + CssmData::required(CrlRecordIndex), + Required(NumberOfFields), + Required(CrlFields)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlRemoveCert(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Cert, + const CSSM_DATA *OldCrl, + CSSM_DATA_PTR NewCrl) +{ + BEGIN_API + findSession(CLHandle).CrlRemoveCert(CssmData::required(Cert), + CssmData::required(OldCrl), + CssmData::required(NewCrl)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertVerifyWithKey(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_DATA *CertToBeVerified) +{ + BEGIN_API + findSession(CLHandle).CertVerifyWithKey(CCHandle, + CssmData::required(CertToBeVerified)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlGetFirstCachedFieldValue(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE CrlHandle, + const CSSM_DATA *CrlRecordIndex, + const CSSM_OID *CrlField, + CSSM_HANDLE_PTR ResultsHandle, + uint32 *NumberOfMatchedFields, + CSSM_DATA_PTR *Value) +{ + BEGIN_API + if ((Required(ResultsHandle) = findSession(CLHandle).CrlGetFirstCachedFieldValue(CrlHandle, + CssmData::optional(CrlRecordIndex), + CssmData::required(CrlField), + Required(NumberOfMatchedFields), + Required(Value))) == CSSM_INVALID_HANDLE) + return CSSMERR_CL_NO_FIELD_VALUES; + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertGetFirstCachedFieldValue(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE CertHandle, + const CSSM_OID *CertField, + CSSM_HANDLE_PTR ResultsHandle, + uint32 *NumberOfMatchedFields, + CSSM_DATA_PTR *Value) +{ + BEGIN_API + if ((Required(ResultsHandle) = findSession(CLHandle).CertGetFirstCachedFieldValue(CertHandle, + CssmData::required(CertField), + Required(NumberOfMatchedFields), + Required(Value))) == CSSM_INVALID_HANDLE) + return CSSMERR_CL_NO_FIELD_VALUES; + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertVerify(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_DATA *CertToBeVerified, + const CSSM_DATA *SignerCert, + const CSSM_FIELD *VerifyScope, + uint32 ScopeSize) +{ + BEGIN_API + findSession(CLHandle).CertVerify(CCHandle, + CssmData::required(CertToBeVerified), + CssmData::optional(SignerCert), + VerifyScope, + ScopeSize); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertGetKeyInfo(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Cert, + CSSM_KEY_PTR *Key) +{ + BEGIN_API + findSession(CLHandle).CertGetKeyInfo(CssmData::required(Cert), + Required(Key)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlVerify(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_DATA *CrlToBeVerified, + const CSSM_DATA *SignerCert, + const CSSM_FIELD *VerifyScope, + uint32 ScopeSize) +{ + BEGIN_API + findSession(CLHandle).CrlVerify(CCHandle, + CssmData::required(CrlToBeVerified), + CssmData::optional(SignerCert), + VerifyScope, + ScopeSize); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlDescribeFormat(CSSM_CL_HANDLE CLHandle, + uint32 *NumberOfFields, + CSSM_OID_PTR *OidList) +{ + BEGIN_API + findSession(CLHandle).CrlDescribeFormat(Required(NumberOfFields), + Required(OidList)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlAbortQuery(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE ResultsHandle) +{ + BEGIN_API + findSession(CLHandle).CrlAbortQuery(ResultsHandle); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertDescribeFormat(CSSM_CL_HANDLE CLHandle, + uint32 *NumberOfFields, + CSSM_OID_PTR *OidList) +{ + BEGIN_API + findSession(CLHandle).CertDescribeFormat(Required(NumberOfFields), + Required(OidList)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_FreeFieldValue(CSSM_CL_HANDLE CLHandle, + const CSSM_OID *CertOrCrlOid, + CSSM_DATA_PTR Value) +{ + BEGIN_API + findSession(CLHandle).FreeFieldValue(CssmData::required(CertOrCrlOid), + CssmData::required(Value)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertGroupToSignedBundle(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_CERTGROUP *CertGroupToBundle, + const CSSM_CERT_BUNDLE_HEADER *BundleInfo, + CSSM_DATA_PTR SignedBundle) +{ + BEGIN_API + findSession(CLHandle).CertGroupToSignedBundle(CCHandle, + Required(CertGroupToBundle), + BundleInfo, + CssmData::required(SignedBundle)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertAbortCache(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE CertHandle) +{ + BEGIN_API + findSession(CLHandle).CertAbortCache(CertHandle); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlCache(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Crl, + CSSM_HANDLE_PTR CrlHandle) +{ + BEGIN_API + findSession(CLHandle).CrlCache(CssmData::required(Crl), + Required(CrlHandle)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_IsCertInCrl(CSSM_CL_HANDLE CLHandle, + const CSSM_DATA *Cert, + const CSSM_DATA *Crl, + CSSM_BOOL *CertFound) +{ + BEGIN_API + findSession(CLHandle).IsCertInCrl(CssmData::required(Cert), + CssmData::required(Crl), + Required(CertFound)); + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CrlGetNextCachedFieldValue(CSSM_CL_HANDLE CLHandle, + CSSM_HANDLE ResultsHandle, + CSSM_DATA_PTR *Value) +{ + BEGIN_API + if (!findSession(CLHandle).CrlGetNextCachedFieldValue(ResultsHandle, + Required(Value))) + return CSSMERR_CL_NO_FIELD_VALUES; + END_API(CL) +} + +static CSSM_RETURN CSSMCLI cssm_CertGroupFromVerifiedBundle(CSSM_CL_HANDLE CLHandle, + CSSM_CC_HANDLE CCHandle, + const CSSM_CERT_BUNDLE *CertBundle, + const CSSM_DATA *SignerCert, + CSSM_CERTGROUP_PTR *CertGroup) +{ + BEGIN_API + findSession(CLHandle).CertGroupFromVerifiedBundle(CCHandle, + Required(CertBundle), + CssmData::optional(SignerCert), + Required(CertGroup)); + END_API(CL) +} + + +static const CSSM_SPI_CL_FUNCS CLFunctionStruct = { + cssm_CertCreateTemplate, + cssm_CertGetAllTemplateFields, + cssm_CertSign, + cssm_CertVerify, + cssm_CertVerifyWithKey, + cssm_CertGetFirstFieldValue, + cssm_CertGetNextFieldValue, + cssm_CertAbortQuery, + cssm_CertGetKeyInfo, + cssm_CertGetAllFields, + cssm_FreeFields, + cssm_FreeFieldValue, + cssm_CertCache, + cssm_CertGetFirstCachedFieldValue, + cssm_CertGetNextCachedFieldValue, + cssm_CertAbortCache, + cssm_CertGroupToSignedBundle, + cssm_CertGroupFromVerifiedBundle, + cssm_CertDescribeFormat, + cssm_CrlCreateTemplate, + cssm_CrlSetFields, + cssm_CrlAddCert, + cssm_CrlRemoveCert, + cssm_CrlSign, + cssm_CrlVerify, + cssm_CrlVerifyWithKey, + cssm_IsCertInCrl, + cssm_CrlGetFirstFieldValue, + cssm_CrlGetNextFieldValue, + cssm_CrlAbortQuery, + cssm_CrlGetAllFields, + cssm_CrlCache, + cssm_IsCertInCachedCrl, + cssm_CrlGetFirstCachedFieldValue, + cssm_CrlGetNextCachedFieldValue, + cssm_CrlGetAllCachedRecordFields, + cssm_CrlAbortCache, + cssm_CrlDescribeFormat, + cssm_PassThrough, +}; + +static CSSM_MODULE_FUNCS CLFunctionTable = { + CSSM_SERVICE_CL, // service type + 39, // number of functions + (const CSSM_PROC_ADDR *)&CLFunctionStruct +}; + +CSSM_MODULE_FUNCS_PTR CLPluginSession::construct() +{ + return &CLFunctionTable; +}