The CRYPT_ALGORITHM_IDENTIFIER structure is used to describe any algorithm, where the parameters contained in a CRYPT_OBJID_BLOB are in their encoded representation. For most algorithm types, there are no parameters (Parameters.cbData == 0), and those that do have parameters are listed under the Parameters member.
typedef struct _CRYPT_ALGORITHM_IDENTIFIER {
LPSTR pszObjId;
CRYPT_OBJID_BLOB Parameters;
} CRYPT_ALGORITHM_IDENTIFIER, *PCRYPT_ALGORITHM_IDENTIFIER;
Name | Base/Suffix | Value |
---|---|---|
//RSA | ||
szOID_RSA | "1.2.840.113549" | |
szOID_PKCS | szOID_RSA ".1" | "1.2.840.113549.1" |
szOID_RSA_HASH | szOID_RSA ".2" | "1.2.840.113549.2" |
szOID_RSA_ENCRYPT | szOID_RSA ".3" | "1.2.840.113549.3" |
szOID_PKCS_1 | szOID_PKCS ".1" | "1.2.840.113549.1.1" |
szOID_PKCS_2 | szOID_PKCS ".2" | "1.2.840.113549.1.2" |
szOID_PKCS_3 | szOID_PKCS ".3" | "1.2.840.113549.1.3" |
szOID_PKCS_4 | szOID_PKCS ".4" | "1.2.840.113549.1.4" |
szOID_PKCS_5 | szOID_PKCS ".5" | "1.2.840.113549.1.5" |
szOID_PKCS_6 | szOID_PKCS ".7" | "1.2.840.113549.1.6" |
szOID_PKCS_7 | szOID_PKCS ".7" | "1.2.840.113549.1.7" |
szOID_PKCS_8 | szOID_PKCS ".8" | "1.2.840.113549.1.8" |
szOID_PKCS_9 | szOID_PKCS ".9" | "1.2.840.113549.1.9" |
szOID_PKCS_10 | szOID_PKCS ".10" | "1.2.840.113549.1.10" |
szOID_PKCS_12 | szOID_PKCS ".12" | "1.2.840.113549.1.12" |
szOID_RSA_MD2 | szOID_RSA_HASH ".2" | "1.2.840.113549.2.2" |
szOID_RSA_MD4 | szOID_RSA_HASH ".4" | "1.2.840.113549.2.4" |
szOID_RSA_MD5 | szOID_RSA_HASH ".5" | "1.2.840.113549.2.5" |
szOID_RSA_RSA | szOID_PKCS_1 ".1" | "1.2.840.113549.1.1.1" |
szOID_RSA_MD2RSA | szOID_PKCS_1 ".2" | "1.2.840.113549.1.1.2" |
szOID_RSA_MD4RSA | szOID_PKCS_1 ".3" | "1.2.840.113549.1.1.3" |
szOID_RSA_MD5RSA | szOID_PKCS_1 ".4" | "1.2.840.113549.1.1.4" |
// The following two are per Bob Baldwin (baldwin@rsa.com, 5.7.96) | ||
Name | Base/Suffix | Value |
---|---|---|
szOID_RSA_SHA1RSA | szOID_PKCS_1 ".5" | "1.2.840.113549.1.1.5" |
szOID_RSA_SETOAEP_RSA | szOID_PKCS_1 ".6" | "1.2.840.113549.1.1.6" |
szOID_RSA_DH | szOID_PKCS_3 ".1" | "1.2.840.113549.1.3.1 |
szOID_RSA_data | szOID_PKCS_7 ".1" | "1.2.840.113549.1.7.1" |
szOID_RSA_signedData | szOID_PKCS_7 ".2" | "1.2.840.113549.1.7.2" |
szOID_RSA_envelopedData | szOID_PKCS_7 ".3" | "1.2.840.113549.1.7.3" |
szOID_RSA_signEnvData | szOID_PKCS_7 ".4" | "1.2.840.113549.1.7.4" |
szOID_RSA_digestedData | szOID_PKCS_7 ".5" | "1.2.840.113549.1.7.5" |
szOID_RSA_hashedData | szOID_PKCS_7 ".5" | "1.2.840.113549.1.7.5" |
szOID_RSA_encryptedData | szOID_PKCS_7 ".6" | "1.2.840.113549.1.7.6" |
szOID_RSA_emailAddr | szOID_PKCS_9 ".1" | "1.2.840.113549.1.9.1" |
szOID_RSA_unstructName | szOID_PKCS_9 ".2" | "1.2.840.113549.1.9.2" |
szOID_RSA_contentType | szOID_PKCS_9 ".3" | "1.2.840.113549.1.9.3" |
szOID_RSA_messageDigest | szOID_PKCS_9 ".4" | "1.2.840.113549.1.9.4" |
szOID_RSA_signingTime | szOID_PKCS_9 ".5" | "1.2.840.113549.1.9.5" |
szOID_RSA_counterSign | szOID_PKCS_9 ".6" | "1.2.840.113549.1.9.6" |
szOID_RSA_challengePwd | szOID_PKCS_9 ".7" | "1.2.840.113549.1.9.7" |
szOID_RSA_unstructAddr | szOID_PKCS_9 ".8" | "1.2.840.113549.1.9.8" |
szOID_RSA_extCertAttrs | szOID_PKCS_9 ".9" | "1.2.840.113549.1.9.9" |
szOID_RSA_SMIMECapabilities | szOID_PKCS_9 ".15" | "1.2.840.113549.1.9.15" |
szOID_RSA_preferSignedData | szOID_RSA_SMIMECapabilities | "1.2.840.113549.1.9.15.1" |
szOID_RSA_RC2CBC | szOID_RSA_ENCRYPT ".2" | "1.2.840.113549.3.2" |
szOID_RSA_RC4 | szOID_RSA_ENCRYPT ".4" | "1.2.840.113549.3.4" |
szOID_RSA_DES_EDE3_CBC | szOID_RSA_ENCRYPT ".7" | "1.2.840.113549.3.7" |
szOID_RSA_RC5_CBCPad | szOID_RSA_ENCRYPT ".9" | "1.2.840.113549.3.9" |
szOID_ANSI_x942 | "1.2.840.10046" | |
szOID_ANSI_x942_DH | szOID_ANSI_x942 ".2.1" | "1.2.840.10046.2.1" |
szOID_X957 | "1.2.840.10040" | |
szOID_X957_DSA | szOID_x957 ".4.1" | "1.2.840.10040.4.1" |
//ITU-T Useful Definitions | ||
szOID_DS | "2.5" | |
szOID_DSALG | szOID_DS ".8" | "2.5.8" |
szOID_DSALG_CRPT | szOID_DSALG ".1" | "2.5.8.1" |
szOID_DSALG_HASH | szOID_DSALG ".2" | "2.5.8.2" |
szOID_DSALG_SIGN | szOID_DSALG ".3" | "2.5.8.3" |
szOID_DSALG_RSA | szOID_DSALG_CRPT ".1" | "2.5.8.1.1" |
//NIST OSE Implementers' Workshop (OIW) |
||
szOID_OIW | "1.3.14" |
//NIST OSE Implementers' Workshop (OIW) Security SIG algorithm //identifiers | ||
Name | Base/Suffix | Value |
---|---|---|
szOID_OIWSEC | szOID_OIW ".3.2" | "1.3.14.3.2" |
szOID_OIWSEC_md4RSA | szOID_OIWSEC ".2" | "1.3.14.3.2.2" |
szOID_OIWSEC_md5RSA | szOID_OIWSEC ".3" | "1.3.14.3.2.3" |
szOID_OIWSEC_md4RSA2 | szOID_OIWSEC ".4" | "1.3.14.3.2.4" |
szOID_OIWSEC_desECB | szOID_OIWSEC ".6" | "1.3.14.3.2.6" |
szOID_OIWSEC_desCBC | szOID_OIWSEC ".7" | "1.3.14.3.2.7" |
szOID_OIWSEC_desOFB | szOID_OIWSEC ".8" | "1.3.14.3.2.8" |
szOID_OIWSEC_desCFB | szOID_OIWSEC ".9" | "1.3.14.3.2.9" |
szOID_OIWSEC_desMAC | szOID_OIWSEC ".10" | "1.3.14.3.2.10" |
szOID_OIWSEC_rsaSign | szOID_OIWSEC ".11" | "1.3.14.3.2.11" |
szOID_OIWSEC_dsa | szOID_OIWSEC ".12" | "1.3.14.3.2.12" |
szOID_OIWSEC_shaDSA | szOID_OIWSEC ".13" | "1.3.14.3.2.13" |
szOID_OIWSEC_mdc2RSA | szOID_OIWSEC ".14" | "1.3.14.3.2.14" |
szOID_OIWSEC_shaRSA | szOID_OIWSEC ".15" | "1.3.14.3.2.15" |
szOID_OIWSEC_dhCommMod | szOID_OIWSEC ".16" | "1.3.14.3.2.16" |
szOID_OIWSEC_desEDE | szOID_OIWSEC ".17" | "1.3.14.3.2.17" |
szOID_OIWSEC_sha | szOID_OIWSEC ".18" | "1.3.14.3.2.18" |
szOID_OIWSEC_mdc2 | szOID_OIWSEC ".19" | "1.3.14.3.2.19" |
szOID_OIWSEC_dsaComm | szOID_OIWSEC ".20" | "1.3.14.3.2.20" |
szOID_OIWSEC_dsaCommSHA | szOID_OIWSEC ".21" | "1.3.14.3.2.21" |
szOID_OIWSEC_rsaXchg | szOID_OIWSEC ".22" | "1.3.14.3.2.22" |
szOID_OIWSEC_keyHashSeal | szOID_OIWSEC ".23" | "1.3.14.3.2.23" |
szOID_OIWSEC_md2RSASign | szOID_OIWSEC ".24" | "1.3.14.3.2.24" |
szOID_OIWSEC_md5RSASign | szOID_OIWSEC ".25" | "1.3.14.3.2.25" |
szOID_OIWSEC_sha1 | szOID_OIWSEC ".26" | "1.3.14.3.2.26" |
szOID_OIWSEC_dsaSHA1 | szOID_OIWSEC ".27" | "1.3.14.3.2.27" |
szOID_OIWSEC_dsaCommSHA1 | szOID_OIWSEC ".28" | "1.3.14.3.2.28" |
szOID_OIWSEC_sha1RSASign | szOID_OIWSEC ".29" | "1.3.14.3.2.29" |
//NIST OSE Implementers' Workshop (OIW) Directory SIG algorithm //identifiers | ||
Name | Base/Suffix | Value |
---|---|---|
szOID_OIWDIR | szOID_OIW ".7.2" | "1.3.14.7.2" |
szOID_OIWDIR_CRPT | szOID_OIWDIR ".1" | "1.3.14.7.2.1" |
szOID_OIWDIR_HASH | szOID_OIWDIR ".2" | "1.3.14.7.2.2" |
szOID_OIWDIR_SIGN | szOID_OIWDIR ".3" | "1.3.14.7.2.3" |
szOID_OIWDIR_md2 | szOID_OIWDIR_HASH ".1" | "1.3.14.7.2.2.1" |
szOID_OIWDIR_md2RSA | szOID_OIWDIR_SIGN ".1" | "1.3.14.7.2.3.1" |
//INFOSEC Algorithms joint-iso-ccitt(2) country(16) us(840) organization(1) us-government(101) dod(2) id-infosec(1) |
||
Name | Base/Suffix | Value |
---|---|---|
szOID_INFOSEC | "2.16.840.1.101.2.1" | |
szOID_INFOSEC_sdnsSignature | szOID_INFOSEC".1.1" | "2.16.840.1.101.2.1.1.1" |
szOID_INFOSEC_mosaicSignature | szOID_INFOSEC".1.2" | "2.16.840.1.101.2.1.1.2" |
szOID_INFOSEC_sdnsConfidentiality | szOID_INFOSEC".1.3" | "2.16.840.1.101.2.1.1.3" |
szOID_INFOSEC_mosaicConfidentiality | szOID_INFOSEC".1.4" | "2.16.840.1.101.2.1.1.4" |
szOID_INFOSEC_sdnsIntegrity | szOID_INFOSEC".1.5" | "2.16.840.1.101.2.1.1.5" |
szOID_INFOSEC_mosaicIntegrity | szOID_INFOSEC".1.6" | "2.16.840.1.101.2.1.1.6" |
szOID_INFOSEC_sdnsTokenProtection | szOID_INFOSEC".1.7" | "2.16.840.1.101.2.1.1.7" |
szOID_INFOSEC_mosaicTokenProtection | szOID_INFOSEC".1.8" | "2.16.840.1.101.2.1.1.8" |
szOID_INFOSEC_sdnsKeyManagement | szOID_INFOSEC".1.9" | "2.16.840.1.101.2.1.1.9" |
szOID_INFOSEC_mosaicKeyManagement | szOID_INFOSEC".1.10" | "2.16.840.1.101.2.1.1.10" |
szOID_INFOSEC_sdnsKMandSig | szOID_INFOSEC".1.11" | "2.16.840.1.101.2.1.1.11" |
szOID_INFOSEC_mosaicKMandSig | szOID_INFOSEC".1.12" | "2.16.840.1.101.2.1.1.12" |
szOID_INFOSEC_SuiteASignature | szOID_INFOSEC".1.13" | "2.16.840.1.101.2.1.1.13" |
szOID_INFOSEC_SuiteAConfidentiality | szOID_INFOSEC".1.14" | "2.16.840.1.101.2.1.1.14" |
szOID_INFOSEC_SuiteAIntegrity | szOID_INFOSEC".1.15" | "2.16.840.1.101.2.1.1.15" |
szOID_INFOSEC_SuiteATokenProtection | szOID_INFOSEC".1.16" | "2.16.840.1.101.2.1.1.16" |
szOID_INFOSEC_SuiteAKeyManagement | szOID_INFOSEC".1.17" | "2.16.840.1.101.2.1.1.17" |
szOID_INFOSEC_SuiteAKMandSig | szOID_INFOSEC".1.18" | "2.16.840.1.101.2.1.1.18" |
szOID_INFOSEC_mosaicUpdatedSig | szOID_INFOSEC".1.19" | "2.16.840.1.101.2.1.1.19" |
szOID_INFOSEC_mosaicKMandUpdSig | szOID_INFOSEC".1.20" | "2.16.840.1.101.2.1.1.20" |
szOID_INFOSEC_mosaicUpdatedInteg | szOID_INFOSEC".1.21" | "2.16.840.1.101.2.1.1.21" |
The following algorithms have encoded parameters. See the predefined constants for encode/decode details.
Algorithm name | Predefined constant |
---|---|
szOID_OIWSEC_dsa | X509_DSS_PARAMETERS |
szOID_RSA_RC2CBC | PKCS_RC2_CBC_PARAMETERS |
szOID_OIWSEC_desCBC | X509_OCTET_STRING |
szOID_RSA_DES_EDE3_CBC | X509_OCTET_STRING |
szOID_RSA_RC4 | X509_OCTET_STRING |
ALG_ID, BLOB Structure, CERT_INFO, CERT_PUBLIC_KEY_INFO, CERT_SIGNED_CONTENT_INFO, CMSG_ENVELOPED_ENCODE_INFO, CMSG_HASHED_ENCODE_INFO, CMSG_SIGNER_ENCODE_INFO, CMSG_SIGNER_INFO, CRL_INFO, CRYPT_ENCRYPT_MESSAGE_PARA, CRYPT_HASH_MESSAGE_PARA, CRYPT_SIGN_MESSAGE_PARA, CryptMsgGetParam