1055 lines
67 KiB
Factor
1055 lines
67 KiB
Factor
! Copyright (C) 2007 Elie CHAFTARI
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
! libs/cryptlib/libcl.factor
|
|
|
|
! Adapted from cryptlib.h
|
|
! Tested with cryptlib 3.3.1.0
|
|
|
|
! export LD_LIBRARY_PATH=/opt/local/lib
|
|
|
|
USING: alien kernel system combinators alien.syntax ;
|
|
|
|
IN: cryptlib.libcl
|
|
|
|
<< "libcl" {
|
|
{ [ win32? ] [ "cl32.dll" "stdcall" ] }
|
|
{ [ macosx? ] [ "libcl.dylib" cdecl ] }
|
|
{ [ unix? ] [ "libcl.so" cdecl ] }
|
|
} cond add-library >>
|
|
|
|
! ===============================================
|
|
! Machine-dependant types
|
|
! ===============================================
|
|
|
|
TYPEDEF: int C_RET
|
|
|
|
! ===============================================
|
|
! Algorithm and Object Types
|
|
! ===============================================
|
|
|
|
! Algorithm and mode types
|
|
|
|
! CRYPT_ALGO_TYPE
|
|
: CRYPT_ALGO_NONE 0 ; inline ! No encryption
|
|
: CRYPT_ALGO_DES 1 ; inline ! DES
|
|
: CRYPT_ALGO_3DES 2 ; inline ! Triple DES
|
|
: CRYPT_ALGO_IDEA 3 ; inline ! IDEA
|
|
: CRYPT_ALGO_CAST 4 ; inline ! CAST-128
|
|
: CRYPT_ALGO_RC2 5 ; inline ! RC2
|
|
: CRYPT_ALGO_RC4 6 ; inline ! RC4
|
|
: CRYPT_ALGO_RC5 7 ; inline ! RC5
|
|
: CRYPT_ALGO_AES 8 ; inline ! AES
|
|
: CRYPT_ALGO_BLOWFISH 9 ; inline ! Blowfish
|
|
: CRYPT_ALGO_SKIPJACK 10 ; inline ! Skipjack
|
|
: CRYPT_ALGO_DH 100 ; inline ! Diffie-Hellman
|
|
: CRYPT_ALGO_RSA 101 ; inline ! RSA
|
|
: CRYPT_ALGO_DSA 102 ; inline ! DSA
|
|
: CRYPT_ALGO_ELGAMAL 103 ; inline ! ElGamal
|
|
: CRYPT_ALGO_KEA 104 ; inline ! KEA
|
|
: CRYPT_ALGO_ECDSA 105 ; inline ! ECDSA
|
|
: CRYPT_ALGO_MD2 200 ; inline ! MD2
|
|
: CRYPT_ALGO_MD4 201 ; inline ! MD4
|
|
: CRYPT_ALGO_MD5 202 ; inline ! MD5
|
|
: CRYPT_ALGO_SHA 203 ; inline ! SHA/SHA1
|
|
: CRYPT_ALGO_RIPEMD160 204 ; inline ! RIPE-MD 160
|
|
: CRYPT_ALGO_SHA2 205 ; inline ! SHA2 (SHA-256/384/512)
|
|
: CRYPT_ALGO_HMAC_MD5 300 ; inline ! HMAC-MD5
|
|
: CRYPT_ALGO_HMAC_SHA1 301 ; inline ! HMAC-SHA
|
|
: CRYPT_ALGO_HMAC_SHA 301 ; inline ! Older form
|
|
: CRYPT_ALGO_HMAC_RIPEMD160 302 ; inline ! HMAC-RIPEMD-160
|
|
: CRYPT_ALGO_LAST 303 ; inline ! Last possible crypt algo value
|
|
: CRYPT_ALGO_FIRST_CONVENTIONAL 1 ; inline
|
|
: CRYPT_ALGO_LAST_CONVENTIONAL 99 ; inline
|
|
: CRYPT_ALGO_FIRST_PKC 100 ; inline
|
|
: CRYPT_ALGO_LAST_PKC 199 ; inline
|
|
: CRYPT_ALGO_FIRST_HASH 200 ; inline
|
|
: CRYPT_ALGO_LAST_HASH 299 ; inline
|
|
: CRYPT_ALGO_FIRST_MAC 300 ; inline
|
|
: CRYPT_ALGO_LAST_MAC 399 ; inline ! End of mac algo.range
|
|
|
|
TYPEDEF: int CRYPT_ALGO_TYPE
|
|
|
|
! CRYPT_MODE_TYPE
|
|
: CRYPT_MODE_NONE 0 ; inline ! No encryption mode
|
|
: CRYPT_MODE_ECB 1 ; inline ! ECB
|
|
: CRYPT_MODE_CBC 2 ; inline ! CBC
|
|
: CRYPT_MODE_CFB 3 ; inline ! CFB
|
|
: CRYPT_MODE_OFB 4 ; inline ! OFB
|
|
: CRYPT_MODE_LAST 5 ; inline ! Last possible crypt mode value
|
|
|
|
|
|
! Keyset subtypes
|
|
|
|
! CRYPT_KEYSET_TYPE
|
|
: CRYPT_KEYSET_NONE 0 ; inline ! No keyset type
|
|
: CRYPT_KEYSET_FILE 1 ; inline ! Generic flat file keyset
|
|
: CRYPT_KEYSET_HTTP 2 ; inline ! Web page containing cert/CRL
|
|
: CRYPT_KEYSET_LDAP 3 ; inline ! LDAP directory service
|
|
: CRYPT_KEYSET_ODBC 4 ; inline ! Generic ODBC interface
|
|
: CRYPT_KEYSET_DATABASE 5 ; inline ! Generic RDBMS interface
|
|
: CRYPT_KEYSET_PLUGIN 6 ; inline ! Generic database plugin
|
|
: CRYPT_KEYSET_ODBC_STORE 7 ; inline ! ODBC certificate store
|
|
: CRYPT_KEYSET_DATABASE_STORE 8 ; inline ! Database certificate store
|
|
: CRYPT_KEYSET_PLUGIN_STORE 9 ; inline ! Database plugin certificate store
|
|
: CRYPT_KEYSET_LAST 10 ; inline ! Last possible keyset type
|
|
|
|
TYPEDEF: int CRYPT_KEYSET_TYPE
|
|
|
|
! Device subtypes
|
|
|
|
! CRYPT_DEVICE_TYPE
|
|
: CRYPT_DEVICE_NONE 0 ; inline ! No crypto device
|
|
: CRYPT_DEVICE_FORTEZZA 1 ; inline ! Fortezza card
|
|
: CRYPT_DEVICE_PKCS11 2 ; inline ! PKCS #11 crypto token
|
|
: CRYPT_DEVICE_CRYPTOAPI 3 ; inline ! Microsoft CryptoAPI
|
|
: CRYPT_DEVICE_LAST 4 ; inline ! Last possible crypto device type
|
|
|
|
! Certificate subtypes
|
|
|
|
! CRYPT_CERTTYPE_TYPE
|
|
: CRYPT_CERTTYPE_NONE 0 ; inline ! No certificate type
|
|
: CRYPT_CERTTYPE_CERTIFICATE 1 ; inline ! Certificate
|
|
: CRYPT_CERTTYPE_ATTRIBUTE_CERT 2 ; inline ! Attribute certificate
|
|
: CRYPT_CERTTYPE_CERTCHAIN 3 ; inline ! PKCS #7 certificate chain
|
|
: CRYPT_CERTTYPE_CERTREQUEST 4 ; inline ! PKCS #10 certification request
|
|
: CRYPT_CERTTYPE_REQUEST_CERT 5 ; inline ! CRMF certification request
|
|
: CRYPT_CERTTYPE_REQUEST_REVOCATION 6 ; inline ! CRMF revocation request
|
|
: CRYPT_CERTTYPE_CRL 7 ; inline ! CRL
|
|
: CRYPT_CERTTYPE_CMS_ATTRIBUTES 8 ; inline ! CMS attributes
|
|
: CRYPT_CERTTYPE_RTCS_REQUEST 9 ; inline ! RTCS request
|
|
: CRYPT_CERTTYPE_RTCS_RESPONSE 10 ; inline ! RTCS response
|
|
: CRYPT_CERTTYPE_OCSP_REQUEST 11 ; inline ! OCSP request
|
|
: CRYPT_CERTTYPE_OCSP_RESPONSE 12 ; inline ! OCSP response
|
|
: CRYPT_CERTTYPE_PKIUSER 13 ; inline ! PKI user information
|
|
: CRYPT_CERTTYPE_LAST 14 ; inline ! Last possible cert.type
|
|
|
|
TYPEDEF: int CRYPT_CERTTYPE_TYPE
|
|
|
|
! Envelope/data format subtypes
|
|
|
|
! CRYPT_FORMAT_TYPE
|
|
: CRYPT_FORMAT_NONE 0 ; inline ! No format type
|
|
: CRYPT_FORMAT_AUTO 1 ; inline ! Deenv, auto-determine type
|
|
: CRYPT_FORMAT_CRYPTLIB 2 ; inline ! cryptlib native format
|
|
: CRYPT_FORMAT_CMS 3 ; inline ! PKCS #7 / CMS / S/MIME fmt.
|
|
: CRYPT_FORMAT_PKCS7 3 ; inline
|
|
: CRYPT_FORMAT_SMIME 4 ; inline ! As CMS with MSG-style behaviour
|
|
: CRYPT_FORMAT_PGP 5 ; inline ! PGP format
|
|
: CRYPT_FORMAT_LAST 6 ; inline ! Last possible format type
|
|
|
|
TYPEDEF: int CRYPT_FORMAT_TYPE
|
|
|
|
! Session subtypes
|
|
|
|
! CRYPT_SESSION_TYPE
|
|
: CRYPT_SESSION_NONE 0 ; inline ! No session type
|
|
: CRYPT_SESSION_SSH 1 ; inline ! SSH
|
|
: CRYPT_SESSION_SSH_SERVER 2 ; inline ! SSH server
|
|
: CRYPT_SESSION_SSL 3 ; inline ! SSL/TLS
|
|
: CRYPT_SESSION_SSL_SERVER 4 ; inline ! SSL/TLS server
|
|
: CRYPT_SESSION_RTCS 5 ; inline ! RTCS
|
|
: CRYPT_SESSION_RTCS_SERVER 6 ; inline ! RTCS server
|
|
: CRYPT_SESSION_OCSP 7 ; inline ! OCSP
|
|
: CRYPT_SESSION_OCSP_SERVER 8 ; inline ! OCSP server
|
|
: CRYPT_SESSION_TSP 9 ; inline ! TSP
|
|
: CRYPT_SESSION_TSP_SERVER 10 ; inline ! TSP server
|
|
: CRYPT_SESSION_CMP 11 ; inline ! CMP
|
|
: CRYPT_SESSION_CMP_SERVER 12 ; inline ! CMP server
|
|
: CRYPT_SESSION_SCEP 13 ; inline ! SCEP
|
|
: CRYPT_SESSION_SCEP_SERVER 14 ; inline ! SCEP server
|
|
: CRYPT_SESSION_CERTSTORE_SERVER 15 ; inline ! HTTP cert store interface
|
|
: CRYPT_SESSION_LAST 16 ; inline ! Last possible session type
|
|
|
|
TYPEDEF: int CRYPT_SESSION_TYPE
|
|
|
|
! User subtypes
|
|
|
|
! CRYPT_USER_TYPE
|
|
: CRYPT_USER_NONE 0 ; inline ! No user type
|
|
: CRYPT_USER_NORMAL 1 ; inline ! Normal user
|
|
: CRYPT_USER_SO 2 ; inline ! Security officer
|
|
: CRYPT_USER_CA 3 ; inline ! CA user
|
|
: CRYPT_USER_LAST 4 ; inline ! Last possible user type
|
|
|
|
! ===============================================
|
|
! Attribute Types
|
|
! ===============================================
|
|
|
|
! Attribute types. These are arranged in the following order:
|
|
!
|
|
! PROPERTY - Object property
|
|
! ATTRIBUTE - Generic attributes
|
|
! OPTION - Global or object-specific config.option
|
|
! CTXINFO - Context-specific attribute
|
|
! CERTINFO - Certificate-specific attribute
|
|
! KEYINFO - Keyset-specific attribute
|
|
! DEVINFO - Device-specific attribute
|
|
! ENVINFO - Envelope-specific attribute
|
|
! SESSINFO - Session-specific attribute
|
|
! USERINFO - User-specific attribute
|
|
|
|
! CRYPT_ATTRIBUTE_TYPE
|
|
: CRYPT_ATTRIBUTE_NONE 0 ; inline ! Non-value
|
|
: CRYPT_PROPERTY_FIRST 1 ; inline ! *******************
|
|
: CRYPT_PROPERTY_HIGHSECURITY 2 ; inline ! Owned+non-forwardcount+locked
|
|
: CRYPT_PROPERTY_OWNER 3 ; inline ! Object owner
|
|
: CRYPT_PROPERTY_FORWARDCOUNT 4 ; inline ! No.of times object can be forwarded
|
|
: CRYPT_PROPERTY_LOCKED 5 ; inline ! Whether properties can be chged/read
|
|
: CRYPT_PROPERTY_USAGECOUNT 6 ; inline ! Usage count before object expires
|
|
: CRYPT_PROPERTY_NONEXPORTABLE 7 ; inline ! Whether key is nonexp.from context
|
|
: CRYPT_PROPERTY_LAST 8 ; inline
|
|
: CRYPT_GENERIC_FIRST 9 ; inline ! Extended error information
|
|
: CRYPT_ATTRIBUTE_ERRORTYPE 10 ; inline ! Type of last error
|
|
: CRYPT_ATTRIBUTE_ERRORLOCUS 11 ; inline ! Locus of last error
|
|
: CRYPT_ATTRIBUTE_INT_ERRORCODE 12 ; inline ! Low-level software-specific
|
|
: CRYPT_ATTRIBUTE_INT_ERRORMESSAGE 13 ; inline ! error code and message
|
|
: CRYPT_ATTRIBUTE_CURRENT_GROUP 14 ; inline ! Cursor mgt: Group in attribute list
|
|
: CRYPT_ATTRIBUTE_CURRENT 15 ; inline ! Cursor mgt: Entry in attribute list
|
|
: CRYPT_ATTRIBUTE_CURRENT_INSTANCE 16 ; inline ! Cursor mgt: Instance in attribute list
|
|
: CRYPT_ATTRIBUTE_BUFFERSIZE 17 ; inline ! Internal data buffer size
|
|
: CRYPT_GENERIC_LAST 18 ; inline
|
|
: CRYPT_OPTION_FIRST 100 ; inline ! **************************
|
|
: CRYPT_OPTION_INFO_DESCRIPTION 101 ; inline ! Text description
|
|
: CRYPT_OPTION_INFO_COPYRIGHT 102 ; inline ! Copyright notice
|
|
: CRYPT_OPTION_INFO_MAJORVERSION 103 ; inline ! Major release version
|
|
: CRYPT_OPTION_INFO_MINORVERSION 104 ; inline ! Minor release version
|
|
: CRYPT_OPTION_INFO_STEPPING 105 ; inline ! Release stepping
|
|
: CRYPT_OPTION_ENCR_ALGO 106 ; inline ! Encryption algorithm
|
|
: CRYPT_OPTION_ENCR_HASH 107 ; inline ! Hash algorithm
|
|
: CRYPT_OPTION_ENCR_MAC 108 ; inline ! MAC algorithm
|
|
: CRYPT_OPTION_PKC_ALGO 109 ; inline ! Public-key encryption algorithm
|
|
: CRYPT_OPTION_PKC_KEYSIZE 110 ; inline ! Public-key encryption key size
|
|
: CRYPT_OPTION_SIG_ALGO 111 ; inline ! Signature algorithm
|
|
: CRYPT_OPTION_SIG_KEYSIZE 112 ; inline ! Signature keysize
|
|
: CRYPT_OPTION_KEYING_ALGO 113 ; inline ! Key processing algorithm
|
|
: CRYPT_OPTION_KEYING_ITERATIONS 114 ; inline ! Key processing iterations
|
|
: CRYPT_OPTION_CERT_SIGNUNRECOGNISEDATTRIBUTES 115 ; inline ! Whether to sign unrecog.attrs
|
|
: CRYPT_OPTION_CERT_VALIDITY 116 ; inline ! Certificate validity period
|
|
: CRYPT_OPTION_CERT_UPDATEINTERVAL 117 ; inline ! CRL update interval
|
|
: CRYPT_OPTION_CERT_COMPLIANCELEVEL 118 ; inline ! PKIX compliance level for cert chks.
|
|
: CRYPT_OPTION_CERT_REQUIREPOLICY 119 ; inline ! Whether explicit policy req'd for certs
|
|
: CRYPT_OPTION_CMS_DEFAULTATTRIBUTES 120 ; inline ! Add default CMS attributes
|
|
: CRYPT_OPTION_SMIME_DEFAULTATTRIBUTES 120 ; inline ! LDAP keyset options
|
|
: CRYPT_OPTION_KEYS_LDAP_OBJECTCLASS 121 ; inline ! Object class
|
|
: CRYPT_OPTION_KEYS_LDAP_OBJECTTYPE 122 ; inline ! Object type to fetch
|
|
: CRYPT_OPTION_KEYS_LDAP_FILTER 123 ; inline ! Query filter
|
|
: CRYPT_OPTION_KEYS_LDAP_CACERTNAME 124 ; inline ! CA certificate attribute name
|
|
: CRYPT_OPTION_KEYS_LDAP_CERTNAME 125 ; inline ! Certificate attribute name
|
|
: CRYPT_OPTION_KEYS_LDAP_CRLNAME 126 ; inline ! CRL attribute name
|
|
: CRYPT_OPTION_KEYS_LDAP_EMAILNAME 127 ; inline ! Email attribute name
|
|
: CRYPT_OPTION_DEVICE_PKCS11_DVR01 128 ; inline ! Name of first PKCS #11 driver
|
|
: CRYPT_OPTION_DEVICE_PKCS11_DVR02 129 ; inline ! Name of second PKCS #11 driver
|
|
: CRYPT_OPTION_DEVICE_PKCS11_DVR03 130 ; inline ! Name of third PKCS #11 driver
|
|
: CRYPT_OPTION_DEVICE_PKCS11_DVR04 131 ; inline ! Name of fourth PKCS #11 driver
|
|
: CRYPT_OPTION_DEVICE_PKCS11_DVR05 132 ; inline ! Name of fifth PKCS #11 driver
|
|
: CRYPT_OPTION_DEVICE_PKCS11_HARDWAREONLY 133 ; inline ! Use only hardware mechanisms
|
|
: CRYPT_OPTION_NET_SOCKS_SERVER 134 ; inline ! Socks server name
|
|
: CRYPT_OPTION_NET_SOCKS_USERNAME 135 ; inline ! Socks user name
|
|
: CRYPT_OPTION_NET_HTTP_PROXY 136 ; inline ! Web proxy server
|
|
: CRYPT_OPTION_NET_CONNECTTIMEOUT 137 ; inline ! Timeout for network connection setup
|
|
: CRYPT_OPTION_NET_READTIMEOUT 138 ; inline ! Timeout for network reads
|
|
: CRYPT_OPTION_NET_WRITETIMEOUT 139 ; inline ! Timeout for network writes
|
|
: CRYPT_OPTION_MISC_ASYNCINIT 140 ; inline ! Whether to init cryptlib async'ly
|
|
: CRYPT_OPTION_MISC_SIDECHANNELPROTECTION 141 ; inline ! Protect against side-channel attacks
|
|
: CRYPT_OPTION_CONFIGCHANGED 142 ; inline ! Whether in-mem.opts match on-disk ones
|
|
: CRYPT_OPTION_SELFTESTOK 143 ; inline ! Whether self-test was completed and OK
|
|
: CRYPT_OPTION_LAST 144 ; inline
|
|
: CRYPT_CTXINFO_FIRST 1000 ; inline ! ********************
|
|
: CRYPT_CTXINFO_ALGO 1001 ; inline ! Algorithm
|
|
: CRYPT_CTXINFO_MODE 1002 ; inline ! Mode
|
|
: CRYPT_CTXINFO_NAME_ALGO 1003 ; inline ! Algorithm name
|
|
: CRYPT_CTXINFO_NAME_MODE 1004 ; inline ! Mode name
|
|
: CRYPT_CTXINFO_KEYSIZE 1005 ; inline ! Key size in bytes
|
|
: CRYPT_CTXINFO_BLOCKSIZE 1006 ; inline ! Block size
|
|
: CRYPT_CTXINFO_IVSIZE 1007 ; inline ! IV size
|
|
: CRYPT_CTXINFO_KEYING_ALGO 1008 ; inline ! Key processing algorithm
|
|
: CRYPT_CTXINFO_KEYING_ITERATIONS 1009 ; inline ! Key processing iterations
|
|
: CRYPT_CTXINFO_KEYING_SALT 1010 ; inline ! Key processing salt
|
|
: CRYPT_CTXINFO_KEYING_VALUE 1011 ; inline ! Value used to derive key
|
|
: CRYPT_CTXINFO_KEY 1012 ; inline ! Key
|
|
: CRYPT_CTXINFO_KEY_COMPONENTS 1013 ; inline ! Public-key components
|
|
: CRYPT_CTXINFO_IV 1014 ; inline ! IV
|
|
: CRYPT_CTXINFO_HASHVALUE 1015 ; inline ! Hash value
|
|
: CRYPT_CTXINFO_LABEL 1016 ; inline ! Label for private/secret key
|
|
: CRYPT_CTXINFO_PERSISTENT 1017 ; inline ! Obj.is backed by device or keyset
|
|
: CRYPT_CTXINFO_LAST 1018 ; inline
|
|
: CRYPT_CERTINFO_FIRST 2000 ; inline ! ************************
|
|
: CRYPT_CERTINFO_SELFSIGNED 2001 ; inline ! Cert is self-signed
|
|
: CRYPT_CERTINFO_IMMUTABLE 2002 ; inline ! Cert is signed and immutable
|
|
: CRYPT_CERTINFO_XYZZY 2003 ; inline ! Cert is a magic just-works cert
|
|
: CRYPT_CERTINFO_CERTTYPE 2004 ; inline ! Certificate object type
|
|
: CRYPT_CERTINFO_FINGERPRINT 2005 ; inline ! Certificate fingerprints
|
|
: CRYPT_CERTINFO_FINGERPRINT_MD5 2005 ; inline
|
|
: CRYPT_CERTINFO_FINGERPRINT_SHA 2006 ; inline
|
|
: CRYPT_CERTINFO_CURRENT_CERTIFICATE 2007 ; inline ! Cursor mgt: Rel.pos in chain/CRL/OCSP
|
|
: CRYPT_CERTINFO_TRUSTED_USAGE 2008 ; inline ! Usage that cert is trusted for
|
|
: CRYPT_CERTINFO_TRUSTED_IMPLICIT 2009 ; inline ! Whether cert is implicitly trusted
|
|
: CRYPT_CERTINFO_SIGNATURELEVEL 2010 ; inline ! Amount of detail to include in sigs.
|
|
: CRYPT_CERTINFO_VERSION 2011 ; inline ! Cert.format version
|
|
: CRYPT_CERTINFO_SERIALNUMBER 2012 ; inline ! Serial number
|
|
: CRYPT_CERTINFO_SUBJECTPUBLICKEYINFO 2013 ; inline ! Public key
|
|
: CRYPT_CERTINFO_CERTIFICATE 2014 ; inline ! User certificate
|
|
: CRYPT_CERTINFO_USERCERTIFICATE 2014 ; inline
|
|
: CRYPT_CERTINFO_CACERTIFICATE 2015 ; inline ! CA certificate
|
|
: CRYPT_CERTINFO_ISSUERNAME 2016 ; inline ! Issuer DN
|
|
: CRYPT_CERTINFO_VALIDFROM 2017 ; inline ! Cert valid-from time
|
|
: CRYPT_CERTINFO_VALIDTO 2018 ; inline ! Cert valid-to time
|
|
: CRYPT_CERTINFO_SUBJECTNAME 2019 ; inline ! Subject DN
|
|
: CRYPT_CERTINFO_ISSUERUNIQUEID 2020 ; inline ! Issuer unique ID
|
|
: CRYPT_CERTINFO_SUBJECTUNIQUEID 2021 ; inline ! Subject unique ID
|
|
: CRYPT_CERTINFO_CERTREQUEST 2022 ; inline ! Cert.request (DN + public key)
|
|
: CRYPT_CERTINFO_THISUPDATE 2023 ; inline ! CRL/OCSP current-update time
|
|
: CRYPT_CERTINFO_NEXTUPDATE 2024 ; inline ! CRL/OCSP next-update time
|
|
: CRYPT_CERTINFO_REVOCATIONDATE 2025 ; inline ! CRL/OCSP cert-revocation time
|
|
: CRYPT_CERTINFO_REVOCATIONSTATUS 2026 ; inline ! OCSP revocation status
|
|
: CRYPT_CERTINFO_CERTSTATUS 2027 ; inline ! RTCS certificate status
|
|
: CRYPT_CERTINFO_DN 2028 ; inline ! Currently selected DN in string form
|
|
: CRYPT_CERTINFO_PKIUSER_ID 2029 ; inline ! PKI user ID
|
|
: CRYPT_CERTINFO_PKIUSER_ISSUEPASSWORD 2030 ; inline ! PKI user issue password
|
|
: CRYPT_CERTINFO_PKIUSER_REVPASSWORD 2031 ; inline ! PKI user revocation password
|
|
: CRYPT_CERTINFO_COUNTRYNAME 2100 ; inline ! countryName
|
|
: CRYPT_CERTINFO_STATEORPROVINCENAME 2101 ; inline ! stateOrProvinceName
|
|
: CRYPT_CERTINFO_LOCALITYNAME 2102 ; inline ! localityName
|
|
: CRYPT_CERTINFO_ORGANIZATIONNAME 2103 ; inline ! organizationName
|
|
: CRYPT_CERTINFO_ORGANISATIONNAME 2103 ; inline
|
|
: CRYPT_CERTINFO_ORGANIZATIONALUNITNAME 2104 ; inline ! organizationalUnitName
|
|
: CRYPT_CERTINFO_ORGANISATIONALUNITNAME 2104 ; inline
|
|
: CRYPT_CERTINFO_COMMONNAME 2105 ; inline ! commonName
|
|
: CRYPT_CERTINFO_OTHERNAME_TYPEID 2106 ; inline ! otherName.typeID
|
|
: CRYPT_CERTINFO_OTHERNAME_VALUE 2107 ; inline ! otherName.value
|
|
: CRYPT_CERTINFO_RFC822NAME 2108 ; inline ! rfc822Name
|
|
: CRYPT_CERTINFO_EMAIL 2108 ; inline
|
|
: CRYPT_CERTINFO_DNSNAME 2109 ; inline ! dNSName
|
|
: CRYPT_CERTINFO_DIRECTORYNAME 2110 ; inline ! directoryName
|
|
: CRYPT_CERTINFO_EDIPARTYNAME_NAMEASSIGNER 2111 ; inline ! ediPartyName.nameAssigner
|
|
: CRYPT_CERTINFO_EDIPARTYNAME_PARTYNAME 2112 ; inline ! ediPartyName.partyName
|
|
: CRYPT_CERTINFO_UNIFORMRESOURCEIDENTIFIER 2113 ; inline ! uniformResourceIdentifier
|
|
: CRYPT_CERTINFO_IPADDRESS 2114 ; inline ! iPAddress
|
|
: CRYPT_CERTINFO_REGISTEREDID 2115 ; inline ! registeredID
|
|
: CRYPT_CERTINFO_CHALLENGEPASSWORD 2200 ; inline ! 1 3 6 1 4 1 3029 3 1 4 cRLExtReason
|
|
: CRYPT_CERTINFO_CRLEXTREASON 2201 ; inline ! 1 3 6 1 4 1 3029 3 1 5 keyFeatures
|
|
: CRYPT_CERTINFO_KEYFEATURES 2202 ; inline ! 1 3 6 1 5 5 7 1 1 authorityInfoAccess
|
|
: CRYPT_CERTINFO_AUTHORITYINFOACCESS 2203 ; inline
|
|
: CRYPT_CERTINFO_AUTHORITYINFO_RTCS 2204 ; inline ! accessDescription.accessLocation
|
|
: CRYPT_CERTINFO_AUTHORITYINFO_OCSP 2205 ; inline ! accessDescription.accessLocation
|
|
: CRYPT_CERTINFO_AUTHORITYINFO_CAISSUERS 2206 ; inline ! accessDescription.accessLocation
|
|
: CRYPT_CERTINFO_AUTHORITYINFO_CERTSTORE 2207 ; inline ! accessDescription.accessLocation
|
|
: CRYPT_CERTINFO_AUTHORITYINFO_CRLS 2208 ; inline ! accessDescription.accessLocation
|
|
: CRYPT_CERTINFO_BIOMETRICINFO 2209 ; inline
|
|
: CRYPT_CERTINFO_BIOMETRICINFO_TYPE 2210 ; inline ! biometricData.typeOfData
|
|
: CRYPT_CERTINFO_BIOMETRICINFO_HASHALGO 2211 ; inline ! biometricData.hashAlgorithm
|
|
: CRYPT_CERTINFO_BIOMETRICINFO_HASH 2212 ; inline ! biometricData.dataHash
|
|
: CRYPT_CERTINFO_BIOMETRICINFO_URL 2213 ; inline ! biometricData.sourceDataUri
|
|
: CRYPT_CERTINFO_QCSTATEMENT 2214 ; inline
|
|
: CRYPT_CERTINFO_QCSTATEMENT_SEMANTICS 2215 ; inline ! qcStatement.statementInfo.semanticsIdentifier
|
|
: CRYPT_CERTINFO_QCSTATEMENT_REGISTRATIONAUTHORITY 2216 ; inline ! qcStatement.statementInfo.nameRegistrationAuthorities
|
|
: CRYPT_CERTINFO_OCSP_NONCE 2217 ; inline ! nonce
|
|
: CRYPT_CERTINFO_OCSP_RESPONSE 2218 ; inline
|
|
: CRYPT_CERTINFO_OCSP_RESPONSE_OCSP 2219 ; inline ! OCSP standard response
|
|
: CRYPT_CERTINFO_OCSP_NOCHECK 2220 ; inline ! 1 3 6 1 5 5 7 48 1 6 ocspArchiveCutoff
|
|
: CRYPT_CERTINFO_OCSP_ARCHIVECUTOFF 2221 ; inline ! 1 3 6 1 5 5 7 48 1 11 subjectInfoAccess
|
|
: CRYPT_CERTINFO_SUBJECTINFOACCESS 2222 ; inline
|
|
: CRYPT_CERTINFO_SUBJECTINFO_CAREPOSITORY 2223 ; inline ! accessDescription.accessLocation
|
|
: CRYPT_CERTINFO_SUBJECTINFO_TIMESTAMPING 2224 ; inline ! accessDescription.accessLocation
|
|
: CRYPT_CERTINFO_SIGG_DATEOFCERTGEN 2225 ; inline ! 1 3 36 8 3 2 siggProcuration
|
|
: CRYPT_CERTINFO_SIGG_PROCURATION 2226 ; inline
|
|
: CRYPT_CERTINFO_SIGG_PROCURE_COUNTRY 2227 ; inline ! country
|
|
: CRYPT_CERTINFO_SIGG_PROCURE_TYPEOFSUBSTITUTION 2228 ; inline ! typeOfSubstitution
|
|
: CRYPT_CERTINFO_SIGG_PROCURE_SIGNINGFOR 2229 ; inline ! signingFor.thirdPerson
|
|
: CRYPT_CERTINFO_SIGG_MONETARYLIMIT 2230 ; inline
|
|
: CRYPT_CERTINFO_SIGG_MONETARY_CURRENCY 2231 ; inline ! currency
|
|
: CRYPT_CERTINFO_SIGG_MONETARY_AMOUNT 2232 ; inline ! amount
|
|
: CRYPT_CERTINFO_SIGG_MONETARY_EXPONENT 2233 ; inline ! exponent
|
|
: CRYPT_CERTINFO_SIGG_RESTRICTION 2234 ; inline ! 1 3 101 1 4 1 strongExtranet
|
|
: CRYPT_CERTINFO_STRONGEXTRANET 2235 ; inline
|
|
: CRYPT_CERTINFO_STRONGEXTRANET_ZONE 2236 ; inline ! sxNetIDList.sxNetID.zone
|
|
: CRYPT_CERTINFO_STRONGEXTRANET_ID 2237 ; inline ! sxNetIDList.sxNetID.id
|
|
: CRYPT_CERTINFO_SUBJECTDIRECTORYATTRIBUTES 2238 ; inline
|
|
: CRYPT_CERTINFO_SUBJECTDIR_TYPE 2239 ; inline ! attribute.type
|
|
: CRYPT_CERTINFO_SUBJECTDIR_VALUES 2240 ; inline ! attribute.values
|
|
: CRYPT_CERTINFO_SUBJECTKEYIDENTIFIER 2241 ; inline ! 2 5 29 15 keyUsage
|
|
: CRYPT_CERTINFO_KEYUSAGE 2242 ; inline ! 2 5 29 16 privateKeyUsagePeriod
|
|
: CRYPT_CERTINFO_PRIVATEKEYUSAGEPERIOD 2243 ; inline
|
|
: CRYPT_CERTINFO_PRIVATEKEY_NOTBEFORE 2244 ; inline ! notBefore
|
|
: CRYPT_CERTINFO_PRIVATEKEY_NOTAFTER 2245 ; inline ! notAfter
|
|
: CRYPT_CERTINFO_SUBJECTALTNAME 2246 ; inline ! 2 5 29 18 issuerAltName
|
|
: CRYPT_CERTINFO_ISSUERALTNAME 2247 ; inline ! 2 5 29 19 basicConstraints
|
|
: CRYPT_CERTINFO_BASICCONSTRAINTS 2248 ; inline
|
|
: CRYPT_CERTINFO_CA 2249 ; inline ! cA
|
|
: CRYPT_CERTINFO_AUTHORITY 2249 ; inline
|
|
: CRYPT_CERTINFO_PATHLENCONSTRAINT 2250 ; inline ! pathLenConstraint
|
|
: CRYPT_CERTINFO_CRLNUMBER 2251 ; inline ! 2 5 29 21 cRLReason
|
|
: CRYPT_CERTINFO_CRLREASON 2252 ; inline ! 2 5 29 23 holdInstructionCode
|
|
: CRYPT_CERTINFO_HOLDINSTRUCTIONCODE 2253 ; inline ! 2 5 29 24 invalidityDate
|
|
: CRYPT_CERTINFO_INVALIDITYDATE 2254 ; inline ! 2 5 29 27 deltaCRLIndicator
|
|
: CRYPT_CERTINFO_DELTACRLINDICATOR 2255 ; inline ! 2 5 29 28 issuingDistributionPoint
|
|
: CRYPT_CERTINFO_ISSUINGDISTRIBUTIONPOINT 2256 ; inline
|
|
: CRYPT_CERTINFO_ISSUINGDIST_FULLNAME 2257 ; inline ! distributionPointName.fullName
|
|
: CRYPT_CERTINFO_ISSUINGDIST_USERCERTSONLY 2258 ; inline ! onlyContainsUserCerts
|
|
: CRYPT_CERTINFO_ISSUINGDIST_CACERTSONLY 2259 ; inline ! onlyContainsCACerts
|
|
: CRYPT_CERTINFO_ISSUINGDIST_SOMEREASONSONLY 2260 ; inline ! onlySomeReasons
|
|
: CRYPT_CERTINFO_ISSUINGDIST_INDIRECTCRL 2261 ; inline ! indirectCRL
|
|
: CRYPT_CERTINFO_CERTIFICATEISSUER 2262 ; inline ! 2 5 29 30 nameConstraints
|
|
: CRYPT_CERTINFO_NAMECONSTRAINTS 2263 ; inline
|
|
: CRYPT_CERTINFO_PERMITTEDSUBTREES 2264 ; inline ! permittedSubtrees
|
|
: CRYPT_CERTINFO_EXCLUDEDSUBTREES 2265 ; inline ! excludedSubtrees
|
|
: CRYPT_CERTINFO_CRLDISTRIBUTIONPOINT 2266 ; inline
|
|
: CRYPT_CERTINFO_CRLDIST_FULLNAME 2267 ; inline ! distributionPointName.fullName
|
|
: CRYPT_CERTINFO_CRLDIST_REASONS 2268 ; inline ! reasons
|
|
: CRYPT_CERTINFO_CRLDIST_CRLISSUER 2269 ; inline ! cRLIssuer
|
|
: CRYPT_CERTINFO_CERTIFICATEPOLICIES 2270 ; inline
|
|
: CRYPT_CERTINFO_CERTPOLICYID 2271 ; inline ! policyInformation.policyIdentifier
|
|
: CRYPT_CERTINFO_CERTPOLICY_CPSURI 2272 ; inline ! policyInformation.policyQualifiers.qualifier.cPSuri
|
|
: CRYPT_CERTINFO_CERTPOLICY_ORGANIZATION 2273 ; inline ! policyInformation.policyQualifiers.qualifier.userNotice.noticeRef.organization
|
|
: CRYPT_CERTINFO_CERTPOLICY_NOTICENUMBERS 2274 ; inline ! policyInformation.policyQualifiers.qualifier.userNotice.noticeRef.noticeNumbers
|
|
: CRYPT_CERTINFO_CERTPOLICY_EXPLICITTEXT 2275 ; inline ! policyInformation.policyQualifiers.qualifier.userNotice.explicitText
|
|
: CRYPT_CERTINFO_POLICYMAPPINGS 2276 ; inline
|
|
: CRYPT_CERTINFO_ISSUERDOMAINPOLICY 2277 ; inline ! policyMappings.issuerDomainPolicy
|
|
: CRYPT_CERTINFO_SUBJECTDOMAINPOLICY 2278 ; inline ! policyMappings.subjectDomainPolicy
|
|
: CRYPT_CERTINFO_AUTHORITYKEYIDENTIFIER 2279 ; inline
|
|
: CRYPT_CERTINFO_AUTHORITY_KEYIDENTIFIER 2280 ; inline ! keyIdentifier
|
|
: CRYPT_CERTINFO_AUTHORITY_CERTISSUER 2281 ; inline ! authorityCertIssuer
|
|
: CRYPT_CERTINFO_AUTHORITY_CERTSERIALNUMBER 2282 ; inline ! authorityCertSerialNumber
|
|
: CRYPT_CERTINFO_POLICYCONSTRAINTS 2283 ; inline
|
|
: CRYPT_CERTINFO_REQUIREEXPLICITPOLICY 2284 ; inline ! policyConstraints.requireExplicitPolicy
|
|
: CRYPT_CERTINFO_INHIBITPOLICYMAPPING 2285 ; inline ! policyConstraints.inhibitPolicyMapping
|
|
: CRYPT_CERTINFO_EXTKEYUSAGE 2286 ; inline
|
|
: CRYPT_CERTINFO_EXTKEY_MS_INDIVIDUALCODESIGNING 2287 ; inline ! individualCodeSigning
|
|
: CRYPT_CERTINFO_EXTKEY_MS_COMMERCIALCODESIGNING 2288 ; inline ! commercialCodeSigning
|
|
: CRYPT_CERTINFO_EXTKEY_MS_CERTTRUSTLISTSIGNING 2289 ; inline ! certTrustListSigning
|
|
: CRYPT_CERTINFO_EXTKEY_MS_TIMESTAMPSIGNING 2290 ; inline ! timeStampSigning
|
|
: CRYPT_CERTINFO_EXTKEY_MS_SERVERGATEDCRYPTO 2291 ; inline ! serverGatedCrypto
|
|
: CRYPT_CERTINFO_EXTKEY_MS_ENCRYPTEDFILESYSTEM 2292 ; inline ! encrypedFileSystem
|
|
: CRYPT_CERTINFO_EXTKEY_SERVERAUTH 2293 ; inline ! serverAuth
|
|
: CRYPT_CERTINFO_EXTKEY_CLIENTAUTH 2294 ; inline ! clientAuth
|
|
: CRYPT_CERTINFO_EXTKEY_CODESIGNING 2295 ; inline ! codeSigning
|
|
: CRYPT_CERTINFO_EXTKEY_EMAILPROTECTION 2296 ; inline ! emailProtection
|
|
: CRYPT_CERTINFO_EXTKEY_IPSECENDSYSTEM 2297 ; inline ! ipsecEndSystem
|
|
: CRYPT_CERTINFO_EXTKEY_IPSECTUNNEL 2298 ; inline ! ipsecTunnel
|
|
: CRYPT_CERTINFO_EXTKEY_IPSECUSER 2299 ; inline ! ipsecUser
|
|
: CRYPT_CERTINFO_EXTKEY_TIMESTAMPING 2300 ; inline ! timeStamping
|
|
: CRYPT_CERTINFO_EXTKEY_OCSPSIGNING 2301 ; inline ! ocspSigning
|
|
: CRYPT_CERTINFO_EXTKEY_DIRECTORYSERVICE 2302 ; inline ! directoryService
|
|
: CRYPT_CERTINFO_EXTKEY_ANYKEYUSAGE 2303 ; inline ! anyExtendedKeyUsage
|
|
: CRYPT_CERTINFO_EXTKEY_NS_SERVERGATEDCRYPTO 2304 ; inline ! serverGatedCrypto
|
|
: CRYPT_CERTINFO_EXTKEY_VS_SERVERGATEDCRYPTO_CA 2305 ; inline ! serverGatedCrypto CA
|
|
: CRYPT_CERTINFO_FRESHESTCRL 2306 ; inline
|
|
: CRYPT_CERTINFO_FRESHESTCRL_FULLNAME 2307 ; inline ! distributionPointName.fullName
|
|
: CRYPT_CERTINFO_FRESHESTCRL_REASONS 2308 ; inline ! reasons
|
|
: CRYPT_CERTINFO_FRESHESTCRL_CRLISSUER 2309 ; inline ! cRLIssuer
|
|
: CRYPT_CERTINFO_INHIBITANYPOLICY 2310 ; inline ! 2 16 840 1 113730 1 x Netscape extensions
|
|
: CRYPT_CERTINFO_NS_CERTTYPE 2311 ; inline ! netscape-cert-type
|
|
: CRYPT_CERTINFO_NS_BASEURL 2312 ; inline ! netscape-base-url
|
|
: CRYPT_CERTINFO_NS_REVOCATIONURL 2313 ; inline ! netscape-revocation-url
|
|
: CRYPT_CERTINFO_NS_CAREVOCATIONURL 2314 ; inline ! netscape-ca-revocation-url
|
|
: CRYPT_CERTINFO_NS_CERTRENEWALURL 2315 ; inline ! netscape-cert-renewal-url
|
|
: CRYPT_CERTINFO_NS_CAPOLICYURL 2316 ; inline ! netscape-ca-policy-url
|
|
: CRYPT_CERTINFO_NS_SSLSERVERNAME 2317 ; inline ! netscape-ssl-server-name
|
|
: CRYPT_CERTINFO_NS_COMMENT 2318 ; inline ! netscape-comment
|
|
: CRYPT_CERTINFO_SET_HASHEDROOTKEY 2319 ; inline
|
|
: CRYPT_CERTINFO_SET_ROOTKEYTHUMBPRINT 2320 ; inline ! rootKeyThumbPrint
|
|
: CRYPT_CERTINFO_SET_CERTIFICATETYPE 2321 ; inline ! 2 23 42 7 2 SET merchantData
|
|
: CRYPT_CERTINFO_SET_MERCHANTDATA 2322 ; inline
|
|
: CRYPT_CERTINFO_SET_MERID 2323 ; inline ! merID
|
|
: CRYPT_CERTINFO_SET_MERACQUIRERBIN 2324 ; inline ! merAcquirerBIN
|
|
: CRYPT_CERTINFO_SET_MERCHANTLANGUAGE 2325 ; inline ! merNames.language
|
|
: CRYPT_CERTINFO_SET_MERCHANTNAME 2326 ; inline ! merNames.name
|
|
: CRYPT_CERTINFO_SET_MERCHANTCITY 2327 ; inline ! merNames.city
|
|
: CRYPT_CERTINFO_SET_MERCHANTSTATEPROVINCE 2328 ; inline ! merNames.stateProvince
|
|
: CRYPT_CERTINFO_SET_MERCHANTPOSTALCODE 2329 ; inline ! merNames.postalCode
|
|
: CRYPT_CERTINFO_SET_MERCHANTCOUNTRYNAME 2330 ; inline ! merNames.countryName
|
|
: CRYPT_CERTINFO_SET_MERCOUNTRY 2331 ; inline ! merCountry
|
|
: CRYPT_CERTINFO_SET_MERAUTHFLAG 2332 ; inline ! merAuthFlag
|
|
: CRYPT_CERTINFO_SET_CERTCARDREQUIRED 2333 ; inline ! 2 23 42 7 4 SET tunneling
|
|
: CRYPT_CERTINFO_SET_TUNNELING 2334 ; inline
|
|
: CRYPT_CERTINFO_SET_TUNNELLING 2334 ; inline
|
|
: CRYPT_CERTINFO_SET_TUNNELINGFLAG 2335 ; inline ! tunneling
|
|
: CRYPT_CERTINFO_SET_TUNNELLINGFLAG 2335 ; inline
|
|
: CRYPT_CERTINFO_SET_TUNNELINGALGID 2336 ; inline ! tunnelingAlgID
|
|
: CRYPT_CERTINFO_SET_TUNNELLINGALGID 2336 ; inline ! S/MIME attributes
|
|
: CRYPT_CERTINFO_CMS_CONTENTTYPE 2500 ; inline ! 1 2 840 113549 1 9 4 messageDigest
|
|
: CRYPT_CERTINFO_CMS_MESSAGEDIGEST 2501 ; inline ! 1 2 840 113549 1 9 5 signingTime
|
|
: CRYPT_CERTINFO_CMS_SIGNINGTIME 2502 ; inline ! 1 2 840 113549 1 9 6 counterSignature
|
|
: CRYPT_CERTINFO_CMS_COUNTERSIGNATURE 2503 ; inline ! counterSignature
|
|
: CRYPT_CERTINFO_CMS_SIGNINGDESCRIPTION 2504 ; inline ! 1 2 840 113549 1 9 15 sMIMECapabilities
|
|
: CRYPT_CERTINFO_CMS_SMIMECAPABILITIES 2505 ; inline
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_3DES 2506 ; inline ! 3DES encryption
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_AES 2507 ; inline ! AES encryption
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_CAST128 2508 ; inline ! CAST-128 encryption
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_IDEA 2509 ; inline ! IDEA encryption
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_RC2 2510 ; inline ! RC2 encryption (w.128 key)
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_RC5 2511 ; inline ! RC5 encryption (w.128 key)
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_SKIPJACK 2512 ; inline ! Skipjack encryption
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_DES 2513 ; inline ! DES encryption
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_PREFERSIGNEDDATA 2514 ; inline ! preferSignedData
|
|
: CRYPT_CERTINFO_CMS_SMIMECAP_CANNOTDECRYPTANY 2515 ; inline ! canNotDecryptAny
|
|
: CRYPT_CERTINFO_CMS_RECEIPTREQUEST 2516 ; inline
|
|
: CRYPT_CERTINFO_CMS_RECEIPT_CONTENTIDENTIFIER 2517 ; inline ! contentIdentifier
|
|
: CRYPT_CERTINFO_CMS_RECEIPT_FROM 2518 ; inline ! receiptsFrom
|
|
: CRYPT_CERTINFO_CMS_RECEIPT_TO 2519 ; inline ! receiptsTo
|
|
: CRYPT_CERTINFO_CMS_SECURITYLABEL 2520 ; inline
|
|
: CRYPT_CERTINFO_CMS_SECLABEL_POLICY 2521 ; inline ! securityPolicyIdentifier
|
|
: CRYPT_CERTINFO_CMS_SECLABEL_CLASSIFICATION 2522 ; inline ! securityClassification
|
|
: CRYPT_CERTINFO_CMS_SECLABEL_PRIVACYMARK 2523 ; inline ! privacyMark
|
|
: CRYPT_CERTINFO_CMS_SECLABEL_CATTYPE 2524 ; inline ! securityCategories.securityCategory.type
|
|
: CRYPT_CERTINFO_CMS_SECLABEL_CATVALUE 2525 ; inline ! securityCategories.securityCategory.value
|
|
: CRYPT_CERTINFO_CMS_MLEXPANSIONHISTORY 2526 ; inline
|
|
: CRYPT_CERTINFO_CMS_MLEXP_ENTITYIDENTIFIER 2527 ; inline ! mlData.mailListIdentifier.issuerAndSerialNumber
|
|
: CRYPT_CERTINFO_CMS_MLEXP_TIME 2528 ; inline ! mlData.expansionTime
|
|
: CRYPT_CERTINFO_CMS_MLEXP_NONE 2529 ; inline ! mlData.mlReceiptPolicy.none
|
|
: CRYPT_CERTINFO_CMS_MLEXP_INSTEADOF 2530 ; inline ! mlData.mlReceiptPolicy.insteadOf.generalNames.generalName
|
|
: CRYPT_CERTINFO_CMS_MLEXP_INADDITIONTO 2531 ; inline ! mlData.mlReceiptPolicy.inAdditionTo.generalNames.generalName
|
|
: CRYPT_CERTINFO_CMS_CONTENTHINTS 2532 ; inline
|
|
: CRYPT_CERTINFO_CMS_CONTENTHINT_DESCRIPTION 2533 ; inline ! contentDescription
|
|
: CRYPT_CERTINFO_CMS_CONTENTHINT_TYPE 2534 ; inline ! contentType
|
|
: CRYPT_CERTINFO_CMS_EQUIVALENTLABEL 2535 ; inline
|
|
: CRYPT_CERTINFO_CMS_EQVLABEL_POLICY 2536 ; inline ! securityPolicyIdentifier
|
|
: CRYPT_CERTINFO_CMS_EQVLABEL_CLASSIFICATION 2537 ; inline ! securityClassification
|
|
: CRYPT_CERTINFO_CMS_EQVLABEL_PRIVACYMARK 2538 ; inline ! privacyMark
|
|
: CRYPT_CERTINFO_CMS_EQVLABEL_CATTYPE 2539 ; inline ! securityCategories.securityCategory.type
|
|
: CRYPT_CERTINFO_CMS_EQVLABEL_CATVALUE 2540 ; inline ! securityCategories.securityCategory.value
|
|
: CRYPT_CERTINFO_CMS_SIGNINGCERTIFICATE 2541 ; inline
|
|
: CRYPT_CERTINFO_CMS_SIGNINGCERT_ESSCERTID 2542 ; inline ! certs.essCertID
|
|
: CRYPT_CERTINFO_CMS_SIGNINGCERT_POLICIES 2543 ; inline ! policies.policyInformation.policyIdentifier
|
|
: CRYPT_CERTINFO_CMS_SIGNATUREPOLICYID 2544 ; inline
|
|
: CRYPT_CERTINFO_CMS_SIGPOLICYID 2545 ; inline ! sigPolicyID
|
|
: CRYPT_CERTINFO_CMS_SIGPOLICYHASH 2546 ; inline ! sigPolicyHash
|
|
: CRYPT_CERTINFO_CMS_SIGPOLICY_CPSURI 2547 ; inline ! sigPolicyQualifiers.sigPolicyQualifier.cPSuri
|
|
: CRYPT_CERTINFO_CMS_SIGPOLICY_ORGANIZATION 2548 ; inline ! sigPolicyQualifiers.sigPolicyQualifier.userNotice.noticeRef.organization
|
|
: CRYPT_CERTINFO_CMS_SIGPOLICY_NOTICENUMBERS 2549 ; inline ! sigPolicyQualifiers.sigPolicyQualifier.userNotice.noticeRef.noticeNumbers
|
|
: CRYPT_CERTINFO_CMS_SIGPOLICY_EXPLICITTEXT 2550 ; inline ! sigPolicyQualifiers.sigPolicyQualifier.userNotice.explicitText
|
|
: CRYPT_CERTINFO_CMS_SIGTYPEIDENTIFIER 2551 ; inline
|
|
: CRYPT_CERTINFO_CMS_SIGTYPEID_ORIGINATORSIG 2552 ; inline ! originatorSig
|
|
: CRYPT_CERTINFO_CMS_SIGTYPEID_DOMAINSIG 2553 ; inline ! domainSig
|
|
: CRYPT_CERTINFO_CMS_SIGTYPEID_ADDITIONALATTRIBUTES 2554 ; inline ! additionalAttributesSig
|
|
: CRYPT_CERTINFO_CMS_SIGTYPEID_REVIEWSIG 2555 ; inline ! reviewSig
|
|
: CRYPT_CERTINFO_CMS_NONCE 2556 ; inline ! randomNonce
|
|
: CRYPT_CERTINFO_SCEP_MESSAGETYPE 2557 ; inline ! messageType
|
|
: CRYPT_CERTINFO_SCEP_PKISTATUS 2558 ; inline ! pkiStatus
|
|
: CRYPT_CERTINFO_SCEP_FAILINFO 2559 ; inline ! failInfo
|
|
: CRYPT_CERTINFO_SCEP_SENDERNONCE 2560 ; inline ! senderNonce
|
|
: CRYPT_CERTINFO_SCEP_RECIPIENTNONCE 2561 ; inline ! recipientNonce
|
|
: CRYPT_CERTINFO_SCEP_TRANSACTIONID 2562 ; inline ! transID
|
|
: CRYPT_CERTINFO_CMS_SPCAGENCYINFO 2563 ; inline
|
|
: CRYPT_CERTINFO_CMS_SPCAGENCYURL 2564 ; inline ! spcAgencyInfo.url
|
|
: CRYPT_CERTINFO_CMS_SPCSTATEMENTTYPE 2565 ; inline
|
|
: CRYPT_CERTINFO_CMS_SPCSTMT_INDIVIDUALCODESIGNING 2566 ; inline ! individualCodeSigning
|
|
: CRYPT_CERTINFO_CMS_SPCSTMT_COMMERCIALCODESIGNING 2567 ; inline ! commercialCodeSigning
|
|
: CRYPT_CERTINFO_CMS_SPCOPUSINFO 2568 ; inline
|
|
: CRYPT_CERTINFO_CMS_SPCOPUSINFO_NAME 2569 ; inline ! spcOpusInfo.name
|
|
: CRYPT_CERTINFO_CMS_SPCOPUSINFO_URL 2570 ; inline ! spcOpusInfo.url
|
|
: CRYPT_CERTINFO_LAST 2571 ; inline
|
|
: CRYPT_KEYINFO_FIRST 3000 ; inline ! *******************
|
|
: CRYPT_KEYINFO_QUERY 3001 ; inline ! Keyset query
|
|
: CRYPT_KEYINFO_QUERY_REQUESTS 3002 ; inline ! Query of requests in cert store
|
|
: CRYPT_KEYINFO_LAST 3003 ; inline
|
|
: CRYPT_DEVINFO_FIRST 4000 ; inline ! *******************
|
|
: CRYPT_DEVINFO_INITIALISE 4001 ; inline ! Initialise device for use
|
|
: CRYPT_DEVINFO_INITIALIZE 4001 ; inline
|
|
: CRYPT_DEVINFO_AUTHENT_USER 4002 ; inline ! Authenticate user to device
|
|
: CRYPT_DEVINFO_AUTHENT_SUPERVISOR 4003 ; inline ! Authenticate supervisor to dev.
|
|
: CRYPT_DEVINFO_SET_AUTHENT_USER 4004 ; inline ! Set user authent.value
|
|
: CRYPT_DEVINFO_SET_AUTHENT_SUPERVISOR 4005 ; inline ! Set supervisor auth.val.
|
|
: CRYPT_DEVINFO_ZEROISE 4006 ; inline ! Zeroise device
|
|
: CRYPT_DEVINFO_ZEROIZE 4006 ; inline
|
|
: CRYPT_DEVINFO_LOGGEDIN 4007 ; inline ! Whether user is logged in
|
|
: CRYPT_DEVINFO_LABEL 4008 ; inline ! Device/token label
|
|
: CRYPT_DEVINFO_LAST 4009 ; inline
|
|
: CRYPT_ENVINFO_FIRST 5000 ; inline ! *********************
|
|
: CRYPT_ENVINFO_DATASIZE 5001 ; inline ! Data size information
|
|
: CRYPT_ENVINFO_COMPRESSION 5002 ; inline ! Compression information
|
|
: CRYPT_ENVINFO_CONTENTTYPE 5003 ; inline ! Inner CMS content type
|
|
: CRYPT_ENVINFO_DETACHEDSIGNATURE 5004 ; inline ! Generate CMS detached signature
|
|
: CRYPT_ENVINFO_SIGNATURE_RESULT 5005 ; inline ! Signature check result
|
|
: CRYPT_ENVINFO_MAC 5006 ; inline ! Use MAC instead of encrypting
|
|
: CRYPT_ENVINFO_PASSWORD 5007 ; inline ! User password
|
|
: CRYPT_ENVINFO_KEY 5008 ; inline ! Conventional encryption key
|
|
: CRYPT_ENVINFO_SIGNATURE 5009 ; inline ! Signature/signature check key
|
|
: CRYPT_ENVINFO_SIGNATURE_EXTRADATA 5010 ; inline ! Extra information added to CMS sigs
|
|
: CRYPT_ENVINFO_RECIPIENT 5011 ; inline ! Recipient email address
|
|
: CRYPT_ENVINFO_PUBLICKEY 5012 ; inline ! PKC encryption key
|
|
: CRYPT_ENVINFO_PRIVATEKEY 5013 ; inline ! PKC decryption key
|
|
: CRYPT_ENVINFO_PRIVATEKEY_LABEL 5014 ; inline ! Label of PKC decryption key
|
|
: CRYPT_ENVINFO_ORIGINATOR 5015 ; inline ! Originator info/key
|
|
: CRYPT_ENVINFO_SESSIONKEY 5016 ; inline ! Session key
|
|
: CRYPT_ENVINFO_HASH 5017 ; inline ! Hash value
|
|
: CRYPT_ENVINFO_TIMESTAMP 5018 ; inline ! Timestamp information
|
|
: CRYPT_ENVINFO_KEYSET_SIGCHECK 5019 ; inline ! Signature check keyset
|
|
: CRYPT_ENVINFO_KEYSET_ENCRYPT 5020 ; inline ! PKC encryption keyset
|
|
: CRYPT_ENVINFO_KEYSET_DECRYPT 5021 ; inline ! PKC decryption keyset
|
|
: CRYPT_ENVINFO_LAST 5022 ; inline
|
|
: CRYPT_SESSINFO_FIRST 6000 ; inline ! ********************
|
|
: CRYPT_SESSINFO_ACTIVE 6001 ; inline ! Whether session is active
|
|
: CRYPT_SESSINFO_CONNECTIONACTIVE 6002 ; inline ! Whether network connection is active
|
|
: CRYPT_SESSINFO_USERNAME 6003 ; inline ! User name
|
|
: CRYPT_SESSINFO_PASSWORD 6004 ; inline ! Password
|
|
: CRYPT_SESSINFO_PRIVATEKEY 6005 ; inline ! Server/client private key
|
|
: CRYPT_SESSINFO_KEYSET 6006 ; inline ! Certificate store
|
|
: CRYPT_SESSINFO_AUTHRESPONSE 6007 ; inline ! Session authorisation OK
|
|
: CRYPT_SESSINFO_SERVER_NAME 6008 ; inline ! Server name
|
|
: CRYPT_SESSINFO_SERVER_PORT 6009 ; inline ! Server port number
|
|
: CRYPT_SESSINFO_SERVER_FINGERPRINT 6010 ; inline ! Server key fingerprint
|
|
: CRYPT_SESSINFO_CLIENT_NAME 6011 ; inline ! Client name
|
|
: CRYPT_SESSINFO_CLIENT_PORT 6012 ; inline ! Client port number
|
|
: CRYPT_SESSINFO_SESSION 6013 ; inline ! Transport mechanism
|
|
: CRYPT_SESSINFO_NETWORKSOCKET 6014 ; inline ! User-supplied network socket
|
|
: CRYPT_SESSINFO_VERSION 6015 ; inline ! Protocol version
|
|
: CRYPT_SESSINFO_REQUEST 6016 ; inline ! Cert.request object
|
|
: CRYPT_SESSINFO_RESPONSE 6017 ; inline ! Cert.response object
|
|
: CRYPT_SESSINFO_CACERTIFICATE 6018 ; inline ! Issuing CA certificate
|
|
: CRYPT_SESSINFO_TSP_MSGIMPRINT 6019 ; inline ! TSP message imprint
|
|
: CRYPT_SESSINFO_CMP_REQUESTTYPE 6020 ; inline ! Request type
|
|
: CRYPT_SESSINFO_CMP_PKIBOOT 6021 ; inline ! Enable PKIBoot facility
|
|
: CRYPT_SESSINFO_CMP_PRIVKEYSET 6022 ; inline ! Private-key keyset
|
|
: CRYPT_SESSINFO_SSH_CHANNEL 6023 ; inline ! SSH current channel
|
|
: CRYPT_SESSINFO_SSH_CHANNEL_TYPE 6024 ; inline ! SSH channel type
|
|
: CRYPT_SESSINFO_SSH_CHANNEL_ARG1 6025 ; inline ! SSH channel argument 1
|
|
: CRYPT_SESSINFO_SSH_CHANNEL_ARG2 6026 ; inline ! SSH channel argument 2
|
|
: CRYPT_SESSINFO_SSH_CHANNEL_ACTIVE 6027 ; inline ! SSH channel active
|
|
: CRYPT_SESSINFO_LAST 6028 ; inline
|
|
: CRYPT_USERINFO_FIRST 7000 ; inline ! ********************
|
|
: CRYPT_USERINFO_PASSWORD 7001 ; inline ! Password
|
|
: CRYPT_USERINFO_CAKEY_CERTSIGN 7002 ; inline ! CA cert signing key
|
|
: CRYPT_USERINFO_CAKEY_CRLSIGN 7003 ; inline ! CA CRL signing key
|
|
: CRYPT_USERINFO_CAKEY_RTCSSIGN 7004 ; inline ! CA RTCS signing key
|
|
: CRYPT_USERINFO_CAKEY_OCSPSIGN 7005 ; inline ! CA OCSP signing key
|
|
: CRYPT_USERINFO_LAST 7006 ; inline
|
|
: CRYPT_ATTRIBUTE_LAST 7006 ; inline
|
|
|
|
TYPEDEF: int CRYPT_ATTRIBUTE_TYPE
|
|
|
|
! ===============================================
|
|
! Attribute Subtypes and Related Values
|
|
! ===============================================
|
|
|
|
! Flags for the X.509 keyUsage extension
|
|
: CRYPT_KEYUSAGE_NONE HEX: 000 ; inline
|
|
: CRYPT_KEYUSAGE_DIGITALSIGNATURE HEX: 001 ; inline
|
|
: CRYPT_KEYUSAGE_NONREPUDIATION HEX: 002 ; inline
|
|
: CRYPT_KEYUSAGE_KEYENCIPHERMENT HEX: 004 ; inline
|
|
: CRYPT_KEYUSAGE_DATAENCIPHERMENT HEX: 008 ; inline
|
|
: CRYPT_KEYUSAGE_KEYAGREEMENT HEX: 010 ; inline
|
|
: CRYPT_KEYUSAGE_KEYCERTSIGN HEX: 020 ; inline
|
|
: CRYPT_KEYUSAGE_CRLSIGN HEX: 040 ; inline
|
|
: CRYPT_KEYUSAGE_ENCIPHERONLY HEX: 080 ; inline
|
|
: CRYPT_KEYUSAGE_DECIPHERONLY HEX: 100 ; inline
|
|
: CRYPT_KEYUSAGE_LAST HEX: 200 ; inline ! Last possible value
|
|
|
|
! X.509 cRLReason and cryptlib cRLExtReason codes
|
|
: CRYPT_CRLREASON_UNSPECIFIED 0 ; inline
|
|
: CRYPT_CRLREASON_KEYCOMPROMISE 1 ; inline
|
|
: CRYPT_CRLREASON_CACOMPROMISE 2 ; inline
|
|
: CRYPT_CRLREASON_AFFILIATIONCHANGED 3 ; inline
|
|
: CRYPT_CRLREASON_SUPERSEDED 4 ; inline
|
|
: CRYPT_CRLREASON_CESSATIONOFOPERATION 5 ; inline
|
|
: CRYPT_CRLREASON_CERTIFICATEHOLD 6 ; inline
|
|
: CRYPT_CRLREASON_REMOVEFROMCRL 8 ; inline
|
|
: CRYPT_CRLREASON_PRIVILEGEWITHDRAWN 9 ; inline
|
|
: CRYPT_CRLREASON_AACOMPROMISE 10 ; inline
|
|
: CRYPT_CRLREASON_LAST 11 ; inline ! End of standard CRL reasons
|
|
: CRYPT_CRLREASON_NEVERVALID 20 ; inline
|
|
: CRYPT_CRLEXTREASON_LAST 21 ; inline
|
|
|
|
! X.509 CRL reason flags. These identify the same thing as the cRLReason
|
|
! codes but allow for multiple reasons to be specified. Note that these
|
|
! don't follow the X.509 naming since in that scheme the enumerated types
|
|
! and bitflags have the same names
|
|
: CRYPT_CRLREASONFLAG_UNUSED HEX: 001 ; inline
|
|
: CRYPT_CRLREASONFLAG_KEYCOMPROMISE HEX: 002 ; inline
|
|
: CRYPT_CRLREASONFLAG_CACOMPROMISE HEX: 004 ; inline
|
|
: CRYPT_CRLREASONFLAG_AFFILIATIONCHANGED HEX: 008 ; inline
|
|
: CRYPT_CRLREASONFLAG_SUPERSEDED HEX: 010 ; inline
|
|
: CRYPT_CRLREASONFLAG_CESSATIONOFOPERATION HEX: 020 ; inline
|
|
: CRYPT_CRLREASONFLAG_CERTIFICATEHOLD HEX: 040 ; inline
|
|
: CRYPT_CRLREASONFLAG_LAST HEX: 080 ; inline ! Last poss.value
|
|
|
|
! X.509 CRL holdInstruction codes
|
|
: CRYPT_HOLDINSTRUCTION_NONE 0 ; inline
|
|
: CRYPT_HOLDINSTRUCTION_CALLISSUER 1 ; inline
|
|
: CRYPT_HOLDINSTRUCTION_REJECT 2 ; inline
|
|
: CRYPT_HOLDINSTRUCTION_PICKUPTOKEN 3 ; inline
|
|
: CRYPT_HOLDINSTRUCTION_LAST 4 ; inline
|
|
|
|
! Certificate checking compliance levels
|
|
: CRYPT_COMPLIANCELEVEL_OBLIVIOUS 0 ; inline
|
|
: CRYPT_COMPLIANCELEVEL_REDUCED 1 ; inline
|
|
: CRYPT_COMPLIANCELEVEL_STANDARD 2 ; inline
|
|
: CRYPT_COMPLIANCELEVEL_PKIX_PARTIAL 3 ; inline
|
|
: CRYPT_COMPLIANCELEVEL_PKIX_FULL 4 ; inline
|
|
: CRYPT_COMPLIANCELEVEL_LAST 5 ; inline
|
|
|
|
! Flags for the Netscape netscape-cert-type extension
|
|
: CRYPT_NS_CERTTYPE_SSLCLIENT HEX: 001 ; inline
|
|
: CRYPT_NS_CERTTYPE_SSLSERVER HEX: 002 ; inline
|
|
: CRYPT_NS_CERTTYPE_SMIME HEX: 004 ; inline
|
|
: CRYPT_NS_CERTTYPE_OBJECTSIGNING HEX: 008 ; inline
|
|
: CRYPT_NS_CERTTYPE_RESERVED HEX: 010 ; inline
|
|
: CRYPT_NS_CERTTYPE_SSLCA HEX: 020 ; inline
|
|
: CRYPT_NS_CERTTYPE_SMIMECA HEX: 040 ; inline
|
|
: CRYPT_NS_CERTTYPE_OBJECTSIGNINGCA HEX: 080 ; inline
|
|
: CRYPT_NS_CERTTYPE_LAST HEX: 100 ; inline ! Last possible value
|
|
|
|
! Flags for the SET certificate-type extension
|
|
: CRYPT_SET_CERTTYPE_CARD HEX: 001 ; inline
|
|
: CRYPT_SET_CERTTYPE_MER HEX: 002 ; inline
|
|
: CRYPT_SET_CERTTYPE_PGWY HEX: 004 ; inline
|
|
: CRYPT_SET_CERTTYPE_CCA HEX: 008 ; inline
|
|
: CRYPT_SET_CERTTYPE_MCA HEX: 010 ; inline
|
|
: CRYPT_SET_CERTTYPE_PCA HEX: 020 ; inline
|
|
: CRYPT_SET_CERTTYPE_GCA HEX: 040 ; inline
|
|
: CRYPT_SET_CERTTYPE_BCA HEX: 080 ; inline
|
|
: CRYPT_SET_CERTTYPE_RCA HEX: 100 ; inline
|
|
: CRYPT_SET_CERTTYPE_ACQ HEX: 200 ; inline
|
|
: CRYPT_SET_CERTTYPE_LAST HEX: 400 ; inline ! Last possible value
|
|
|
|
! CMS contentType values
|
|
! CRYPT_CONTENT_TYPE
|
|
: CRYPT_CONTENT_NONE 0 ; inline
|
|
: CRYPT_CONTENT_DATA 1 ; inline
|
|
: CRYPT_CONTENT_SIGNEDDATA 2 ; inline
|
|
: CRYPT_CONTENT_ENVELOPEDDATA 3 ; inline
|
|
: CRYPT_CONTENT_SIGNEDANDENVELOPEDDATA 4 ; inline
|
|
: CRYPT_CONTENT_DIGESTEDDATA 5 ; inline
|
|
: CRYPT_CONTENT_ENCRYPTEDDATA 6 ; inline
|
|
: CRYPT_CONTENT_COMPRESSEDDATA 7 ; inline
|
|
: CRYPT_CONTENT_TSTINFO 8 ; inline
|
|
: CRYPT_CONTENT_SPCINDIRECTDATACONTEXT 9 ; inline
|
|
: CRYPT_CONTENT_RTCSREQUEST 10 ; inline
|
|
: CRYPT_CONTENT_RTCSRESPONSE 11 ; inline
|
|
: CRYPT_CONTENT_RTCSRESPONSE_EXT 12 ; inline
|
|
: CRYPT_CONTENT_LAST 13 ; inline
|
|
|
|
! ESS securityClassification codes
|
|
: CRYPT_CLASSIFICATION_UNMARKED 0 ; inline
|
|
: CRYPT_CLASSIFICATION_UNCLASSIFIED 1 ; inline
|
|
: CRYPT_CLASSIFICATION_RESTRICTED 2 ; inline
|
|
: CRYPT_CLASSIFICATION_CONFIDENTIAL 3 ; inline
|
|
: CRYPT_CLASSIFICATION_SECRET 4 ; inline
|
|
: CRYPT_CLASSIFICATION_TOP_SECRET 5 ; inline
|
|
: CRYPT_CLASSIFICATION_LAST 255 ; inline
|
|
|
|
! RTCS certificate status
|
|
: CRYPT_CERTSTATUS_VALID 0 ; inline
|
|
: CRYPT_CERTSTATUS_NOTVALID 1 ; inline
|
|
: CRYPT_CERTSTATUS_NONAUTHORITATIVE 2 ; inline
|
|
: CRYPT_CERTSTATUS_UNKNOWN 3 ; inline
|
|
|
|
! OCSP revocation status
|
|
: CRYPT_OCSPSTATUS_NOTREVOKED 0 ; inline
|
|
: CRYPT_OCSPSTATUS_REVOKED 1 ; inline
|
|
: CRYPT_OCSPSTATUS_UNKNOWN 2 ; inline
|
|
|
|
! The amount of detail to include in signatures when signing certificate
|
|
! objects
|
|
! CRYPT_SIGNATURELEVEL_TYPE
|
|
: CRYPT_SIGNATURELEVEL_NONE 0 ; inline ! Include only signature
|
|
: CRYPT_SIGNATURELEVEL_SIGNERCERT 1 ; inline ! Include signer cert
|
|
: CRYPT_SIGNATURELEVEL_ALL 2 ; inline ! Include all relevant info
|
|
: CRYPT_SIGNATURELEVEL_LAST 3 ; inline ! Last possible sig.level type
|
|
|
|
! The certificate export format type, which defines the format in which a
|
|
! certificate object is exported
|
|
! CRYPT_CERTFORMAT_TYPE
|
|
: CRYPT_CERTFORMAT_NONE 0 ; inline ! No certificate format
|
|
: CRYPT_CERTFORMAT_CERTIFICATE 1 ; inline ! DER-encoded certificate
|
|
: CRYPT_CERTFORMAT_CERTCHAIN 2 ; inline ! PKCS #7 certificate chain
|
|
: CRYPT_CERTFORMAT_TEXT_CERTIFICATE 3 ; inline ! base-64 wrapped cert
|
|
: CRYPT_CERTFORMAT_TEXT_CERTCHAIN 4 ; inline ! base-64 wrapped cert chain
|
|
: CRYPT_CERTFORMAT_XML_CERTIFICATE 5 ; inline ! XML wrapped cert
|
|
: CRYPT_CERTFORMAT_XML_CERTCHAIN 6 ; inline ! XML wrapped cert chain
|
|
: CRYPT_CERTFORMAT_LAST 7 ; inline ! Last possible cert.format type
|
|
|
|
TYPEDEF: int CRYPT_CERTFORMAT_TYPE
|
|
|
|
! CMP request types
|
|
! CRYPT_REQUESTTYPE_TYPE
|
|
: CRYPT_REQUESTTYPE_NONE 0 ; inline ! No request type
|
|
: CRYPT_REQUESTTYPE_INITIALISATION 1 ; inline ! Initialisation request
|
|
: CRYPT_REQUESTTYPE_INITIALIZATION 1 ; inline
|
|
: CRYPT_REQUESTTYPE_CERTIFICATE 2 ; inline ! Certification request
|
|
: CRYPT_REQUESTTYPE_KEYUPDATE 3 ; inline ! Key update request
|
|
: CRYPT_REQUESTTYPE_REVOCATION 4 ; inline ! Cert revocation request
|
|
: CRYPT_REQUESTTYPE_PKIBOOT 5 ; inline ! PKIBoot request
|
|
: CRYPT_REQUESTTYPE_LAST 6 ; inline ! Last possible request type
|
|
|
|
! Key ID types
|
|
! CRYPT_KEYID_TYPE
|
|
: CRYPT_KEYID_NONE 0 ; inline ! No key ID type
|
|
: CRYPT_KEYID_NAME 1 ; inline ! Key owner name
|
|
: CRYPT_KEYID_URI 2 ; inline ! Key owner URI
|
|
: CRYPT_KEYID_EMAIL 2 ; inline ! Synonym: owner email addr.
|
|
: CRYPT_KEYID_LAST 3 ; inline ! Last possible key ID type
|
|
|
|
TYPEDEF: int CRYPT_KEYID_TYPE
|
|
|
|
! The encryption object types
|
|
! CRYPT_OBJECT_TYPE
|
|
: CRYPT_OBJECT_NONE 0 ; inline ! No object type
|
|
: CRYPT_OBJECT_ENCRYPTED_KEY 1 ; inline ! Conventionally encrypted key
|
|
: CRYPT_OBJECT_PKCENCRYPTED_KEY 2 ; inline ! PKC-encrypted key
|
|
: CRYPT_OBJECT_KEYAGREEMENT 3 ; inline ! Key agreement information
|
|
: CRYPT_OBJECT_SIGNATURE 4 ; inline ! Signature
|
|
: CRYPT_OBJECT_LAST 5 ; inline ! Last possible object type
|
|
|
|
! Object/attribute error type information
|
|
! CRYPT_ERRTYPE_TYPE
|
|
: CRYPT_ERRTYPE_NONE 0 ; inline ! No error information
|
|
: CRYPT_ERRTYPE_ATTR_SIZE 1 ; inline ! Attribute data too small or large
|
|
: CRYPT_ERRTYPE_ATTR_VALUE 2 ; inline ! Attribute value is invalid
|
|
: CRYPT_ERRTYPE_ATTR_ABSENT 3 ; inline ! Required attribute missing
|
|
: CRYPT_ERRTYPE_ATTR_PRESENT 4 ; inline ! Non-allowed attribute present
|
|
: CRYPT_ERRTYPE_CONSTRAINT 5 ; inline ! Cert: Constraint violation in object
|
|
: CRYPT_ERRTYPE_ISSUERCONSTRAINT 6 ; inline ! Cert: Constraint viol.in issuing cert
|
|
: CRYPT_ERRTYPE_LAST 7 ; inline ! Last possible error info type
|
|
|
|
! Cert store management action type
|
|
! CRYPT_CERTACTION_TYPE
|
|
: CRYPT_CERTACTION_NONE 0 ; inline ! No cert management action
|
|
: CRYPT_CERTACTION_CREATE 1 ; inline ! Create cert store
|
|
: CRYPT_CERTACTION_CONNECT 2 ; inline ! Connect to cert store
|
|
: CRYPT_CERTACTION_DISCONNECT 3 ; inline ! Disconnect from cert store
|
|
: CRYPT_CERTACTION_ERROR 4 ; inline ! Error information
|
|
: CRYPT_CERTACTION_ADDUSER 5 ; inline ! Add PKI user
|
|
: CRYPT_CERTACTION_DELETEUSER 6 ; inline ! Delete PKI user
|
|
: CRYPT_CERTACTION_REQUEST_CERT 7 ; inline ! Cert request
|
|
: CRYPT_CERTACTION_REQUEST_RENEWAL 8 ; inline ! Cert renewal request
|
|
: CRYPT_CERTACTION_REQUEST_REVOCATION 9 ; inline ! Cert revocation request
|
|
: CRYPT_CERTACTION_CERT_CREATION 10 ; inline ! Cert creation
|
|
: CRYPT_CERTACTION_CERT_CREATION_COMPLETE 11 ; inline ! Confirmation of cert creation
|
|
: CRYPT_CERTACTION_CERT_CREATION_DROP 12 ; inline ! Cancellation of cert creation
|
|
: CRYPT_CERTACTION_CERT_CREATION_REVERSE 13 ; inline ! Cancel of creation w.revocation
|
|
: CRYPT_CERTACTION_RESTART_CLEANUP 14 ; inline ! Delete reqs after restart
|
|
: CRYPT_CERTACTION_RESTART_REVOKE_CERT 15 ; inline ! Complete revocation after restart
|
|
: CRYPT_CERTACTION_ISSUE_CERT 16 ; inline ! Cert issue
|
|
: CRYPT_CERTACTION_ISSUE_CRL 17 ; inline ! CRL issue
|
|
: CRYPT_CERTACTION_REVOKE_CERT 18 ; inline ! Cert revocation
|
|
: CRYPT_CERTACTION_EXPIRE_CERT 19 ; inline ! Cert expiry
|
|
: CRYPT_CERTACTION_CLEANUP 20 ; inline ! Clean up on restart
|
|
: CRYPT_CERTACTION_LAST 21 ; inline ! Last possible cert store log action
|
|
|
|
! ===============================================
|
|
! General Constants
|
|
! ===============================================
|
|
|
|
! The maximum user key size - 2048 bits
|
|
: CRYPT_MAX_KEYSIZE 256 ; inline
|
|
|
|
! The maximum IV size - 256 bits
|
|
: CRYPT_MAX_IVSIZE 32 ; inline
|
|
|
|
! The maximum public-key component size - 4096 bits, and maximum component
|
|
! size for ECCs - 256 bits
|
|
: CRYPT_MAX_PKCSIZE 512 ; inline
|
|
: CRYPT_MAX_PKCSIZE_ECC 32 ; inline
|
|
|
|
! The maximum hash size - 256 bits
|
|
: CRYPT_MAX_HASHSIZE 32 ; inline
|
|
|
|
! The maximum size of a text string (e.g.key owner name)
|
|
: CRYPT_MAX_TEXTSIZE 64 ; inline
|
|
|
|
! A magic value indicating that the default setting for this parameter
|
|
! should be used
|
|
: CRYPT_USE_DEFAULT -100 ; inline
|
|
|
|
! A magic value for unused parameters
|
|
: CRYPT_UNUSED -101 ; inline
|
|
|
|
! Cursor positioning codes for certificate/CRL extensions
|
|
: CRYPT_CURSOR_FIRST -200 ; inline
|
|
: CRYPT_CURSOR_PREVIOUS -201 ; inline
|
|
: CRYPT_CURSOR_NEXT -202 ; inline
|
|
: CRYPT_CURSOR_LAST -203 ; inline
|
|
|
|
! The type of information polling to perform to get random seed
|
|
! information. These values have to be negative because they're used
|
|
! as magic length values for cryptAddRandom()
|
|
: CRYPT_RANDOM_FASTPOLL -300 ; inline
|
|
: CRYPT_RANDOM_SLOWPOLL -301 ; inline
|
|
|
|
! Whether the PKC key is a public or private key
|
|
: CRYPT_KEYTYPE_PRIVATE 0 ; inline
|
|
: CRYPT_KEYTYPE_PUBLIC 1 ; inline
|
|
|
|
! Keyset open options
|
|
! CRYPT_KEYOPT_TYPE
|
|
! (No options, Open keyset in read-only mode, Create a new keyset)
|
|
! Internal keyset options
|
|
! (As _NONE but open for exclusive access, _CRYPT_DEFINED
|
|
! Last possible key option type, _CRYPT_DEFINED Last external keyset option)
|
|
C-ENUM:
|
|
CRYPT_KEYOPT_NONE
|
|
CRYPT_KEYOPT_READONLY
|
|
CRYPT_KEYOPT_CREATE
|
|
CRYPT_IKEYOPT_EXCLUSIVEACCESS
|
|
CRYPT_KEYOPT_LAST
|
|
;
|
|
|
|
: CRYPT_KEYOPT_LAST_EXTERNAL 3 ; inline ! = CRYPT_KEYOPT_CREATE + 1
|
|
|
|
TYPEDEF: int CRYPT_KEYOPT_TYPE
|
|
|
|
! The various cryptlib objects - these are just integer handles
|
|
TYPEDEF: int CRYPT_CERTIFICATE
|
|
TYPEDEF: int CRYPT_CONTEXT
|
|
TYPEDEF: int CRYPT_DEVICE
|
|
TYPEDEF: int CRYPT_ENVELOPE
|
|
TYPEDEF: int CRYPT_KEYSET
|
|
TYPEDEF: int CRYPT_SESSION
|
|
TYPEDEF: int CRYPT_USER
|
|
|
|
! Sometimes we don't know the exact type of a cryptlib object, so we use a
|
|
! generic handle type to identify it
|
|
TYPEDEF: int CRYPT_HANDLE
|
|
|
|
! ===============================================
|
|
! Status Codes
|
|
! ===============================================
|
|
|
|
! No error in function call
|
|
: CRYPT_OK 0 ; inline ! No error
|
|
|
|
! Error in parameters passed to function
|
|
: CRYPT_ERROR_PARAM1 -1 ; inline ! Bad argument, parameter 1
|
|
: CRYPT_ERROR_PARAM2 -2 ; inline ! Bad argument, parameter 2
|
|
: CRYPT_ERROR_PARAM3 -3 ; inline ! Bad argument, parameter 3
|
|
: CRYPT_ERROR_PARAM4 -4 ; inline ! Bad argument, parameter 4
|
|
: CRYPT_ERROR_PARAM5 -5 ; inline ! Bad argument, parameter 5
|
|
: CRYPT_ERROR_PARAM6 -6 ; inline ! Bad argument, parameter 6
|
|
: CRYPT_ERROR_PARAM7 -7 ; inline ! Bad argument, parameter 7
|
|
|
|
! Errors due to insufficient resources
|
|
: CRYPT_ERROR_MEMORY -10 ; inline ! Out of memory
|
|
: CRYPT_ERROR_NOTINITED -11 ; inline ! Data has not been initialised
|
|
: CRYPT_ERROR_INITED -12 ; inline ! Data has already been init'd
|
|
: CRYPT_ERROR_NOSECURE -13 ; inline ! Opn.not avail.at requested sec.level
|
|
: CRYPT_ERROR_RANDOM -14 ; inline ! No reliable random data available
|
|
: CRYPT_ERROR_FAILED -15 ; inline ! Operation failed
|
|
: CRYPT_ERROR_INTERNAL -16 ; inline ! Internal consistency check failed
|
|
|
|
! Security violations
|
|
: CRYPT_ERROR_NOTAVAIL -20 ; inline ! This type of opn.not available
|
|
: CRYPT_ERROR_PERMISSION -21 ; inline ! No permiss.to perform this operation
|
|
: CRYPT_ERROR_WRONGKEY -22 ; inline ! Incorrect key used to decrypt data
|
|
: CRYPT_ERROR_INCOMPLETE -23 ; inline ! Operation incomplete/still in progress
|
|
: CRYPT_ERROR_COMPLETE -24 ; inline ! Operation complete/can't continue
|
|
: CRYPT_ERROR_TIMEOUT -25 ; inline ! Operation timed out before completion
|
|
: CRYPT_ERROR_INVALID -26 ; inline ! Invalid/inconsistent information
|
|
: CRYPT_ERROR_SIGNALLED -27 ; inline ! Resource destroyed by extnl.event
|
|
|
|
! High-level function errors
|
|
: CRYPT_ERROR_OVERFLOW -30 ; inline ! Resources/space exhausted
|
|
: CRYPT_ERROR_UNDERFLOW -31 ; inline ! Not enough data available
|
|
: CRYPT_ERROR_BADDATA -32 ; inline ! Bad/unrecognised data format
|
|
: CRYPT_ERROR_SIGNATURE -33 ; inline ! Signature/integrity check failed
|
|
|
|
! Data access function errors
|
|
: CRYPT_ERROR_OPEN -40 ; inline ! Cannot open object
|
|
: CRYPT_ERROR_READ -41 ; inline ! Cannot read item from object
|
|
: CRYPT_ERROR_WRITE -42 ; inline ! Cannot write item to object
|
|
: CRYPT_ERROR_NOTFOUND -43 ; inline ! Requested item not found in object
|
|
: CRYPT_ERROR_DUPLICATE -44 ; inline ! Item already present in object
|
|
|
|
! Data enveloping errors
|
|
: CRYPT_ENVELOPE_RESOURCE -50 ; inline ! Need resource to proceed
|
|
|
|
! Error messages sequence
|
|
: error-messages ( -- seq ) {
|
|
{ -1 "Bad argument, parameter 1" }
|
|
{ -2 "Bad argument, parameter 2" }
|
|
{ -3 "Bad argument, parameter 3" }
|
|
{ -4 "Bad argument, parameter 4" }
|
|
{ -5 "Bad argument, parameter 5" }
|
|
{ -6 "Bad argument, parameter 6" }
|
|
{ -7 "Bad argument, parameter 7" }
|
|
{ -10 "Out of memory" }
|
|
{ -11 "Data has not been initialised" }
|
|
{ -12 "Data has already been init'd" }
|
|
{ -13 "Opn.not avail.at requested sec.level" }
|
|
{ -14 "No reliable random data available" }
|
|
{ -15 "Operation failed" }
|
|
{ -16 "Internal consistency check failed" }
|
|
{ -20 "This type of opn.not available" }
|
|
{ -21 "No permiss.to perform this operation" }
|
|
{ -22 "Incorrect key used to decrypt data" }
|
|
{ -23 "Operation incomplete/still in progress" }
|
|
{ -24 "Operation complete/can't continue" }
|
|
{ -25 "Operation timed out before completion" }
|
|
{ -26 "Invalid/inconsistent information" }
|
|
{ -27 "Resource destroyed by extnl.event" }
|
|
{ -30 "Resources/space exhausted" }
|
|
{ -31 "Not enough data available" }
|
|
{ -32 "Bad/unrecognised data format" }
|
|
{ -33 "Signature/integrity check failed" }
|
|
{ -40 "Cannot open object" }
|
|
{ -41 "Cannot read item from object" }
|
|
{ -42 "Cannot write item to object" }
|
|
{ -43 "Requested item not found in object" }
|
|
{ -44 "Item already present in object" }
|
|
{ -50 "Need resource to proceed" }
|
|
} ;
|
|
|
|
LIBRARY: libcl
|
|
|
|
! ===============================================
|
|
! cryptlib.h
|
|
! ===============================================
|
|
|
|
! Initialise and shut down cryptlib
|
|
FUNCTION: C_RET cryptInit ( ) ;
|
|
FUNCTION: C_RET cryptEnd ( ) ;
|
|
|
|
! Create and destroy an encryption context
|
|
|
|
FUNCTION: C_RET cryptCreateContext ( CRYPT_CONTEXT* cryptContext, CRYPT_USER cryptUser, CRYPT_ALGO_TYPE cryptAlgo ) ;
|
|
FUNCTION: C_RET cryptDestroyContext ( CRYPT_CONTEXT cryptContext ) ;
|
|
|
|
! Create/destroy an envelope
|
|
FUNCTION: C_RET cryptCreateEnvelope ( CRYPT_ENVELOPE* envelope, CRYPT_USER cryptUser, CRYPT_FORMAT_TYPE formatType ) ;
|
|
FUNCTION: C_RET cryptDestroyEnvelope ( CRYPT_ENVELOPE envelope ) ;
|
|
|
|
! Add/remove data to/from and envelope or session
|
|
FUNCTION: C_RET cryptPushData ( CRYPT_HANDLE envelope, void* buffer, int length, int* bytesCopied ) ;
|
|
FUNCTION: C_RET cryptFlushData ( CRYPT_HANDLE envelope ) ;
|
|
FUNCTION: C_RET cryptPopData ( CRYPT_HANDLE envelope, void* buffer, int length, int* bytesCopied ) ;
|
|
|
|
! Get/set/delete attribute functions
|
|
FUNCTION: C_RET cryptSetAttribute ( CRYPT_HANDLE cryptHandle, CRYPT_ATTRIBUTE_TYPE attributeType, int value ) ;
|
|
FUNCTION: C_RET cryptSetAttributeString ( CRYPT_HANDLE cryptHandle, CRYPT_ATTRIBUTE_TYPE attributeType, void* value, int valueLength ) ;
|
|
|
|
! Generate a key into a context
|
|
FUNCTION: C_RET cryptGenerateKey ( CRYPT_CONTEXT cryptContext ) ;
|
|
|
|
! Open and close a keyset
|
|
FUNCTION: C_RET cryptKeysetOpen ( CRYPT_KEYSET* keyset, CRYPT_USER cryptUser, CRYPT_KEYSET_TYPE keysetType,
|
|
char* name, CRYPT_KEYOPT_TYPE options ) ;
|
|
FUNCTION: C_RET cryptKeysetClose ( CRYPT_KEYSET keyset ) ;
|
|
|
|
! Add/delete a key to/from a keyset or device
|
|
FUNCTION: C_RET cryptAddPublicKey ( CRYPT_KEYSET keyset, CRYPT_CERTIFICATE certificate ) ;
|
|
FUNCTION: C_RET cryptAddPrivateKey ( CRYPT_KEYSET keyset, CRYPT_HANDLE cryptKey, char* password ) ;
|
|
FUNCTION: C_RET cryptDeleteKey ( CRYPT_KEYSET keyset, CRYPT_KEYID_TYPE keyIDtype, char* keyID ) ;
|
|
|
|
! Create/destroy a certificate
|
|
FUNCTION: C_RET cryptCreateCert ( CRYPT_CERTIFICATE* certificate, CRYPT_USER cryptUser, CRYPT_CERTTYPE_TYPE certType ) ;
|
|
FUNCTION: C_RET cryptDestroyCert ( CRYPT_CERTIFICATE certificate ) ;
|
|
|
|
! Sign/sig.check a certificate/certification request
|
|
FUNCTION: C_RET cryptSignCert ( CRYPT_CERTIFICATE certificate, CRYPT_CONTEXT signContext ) ;
|
|
FUNCTION: C_RET cryptCheckCert ( CRYPT_CERTIFICATE certificate, CRYPT_HANDLE sigCheckKey ) ;
|
|
|
|
! Import/export a certificate/certification request
|
|
FUNCTION: C_RET cryptImportCert ( void* certObject, int certObjectLength, CRYPT_USER cryptUser, CRYPT_CERTIFICATE* certificate ) ;
|
|
FUNCTION: C_RET cryptExportCert ( void* certObject, int certObjectMaxLength, int* certObjectLength,
|
|
CRYPT_CERTFORMAT_TYPE certFormatType, CRYPT_CERTIFICATE certificate ) ;
|
|
|
|
! Get a key from a keyset or device
|
|
FUNCTION: C_RET cryptGetPublicKey ( CRYPT_KEYSET keyset, CRYPT_CONTEXT* cryptContext, CRYPT_KEYID_TYPE keyIDtype, char* keyID ) ;
|
|
FUNCTION: C_RET cryptGetPrivateKey ( CRYPT_KEYSET keyset, CRYPT_CONTEXT* cryptContext, CRYPT_KEYID_TYPE keyIDtype, char* keyID, char* password ) ;
|
|
FUNCTION: C_RET cryptGetKey ( CRYPT_KEYSET keyset, CRYPT_CONTEXT* cryptContext, CRYPT_KEYID_TYPE keyIDtype, char* keyID, char* password ) ;
|
|
|
|
! Create/destroy a session
|
|
FUNCTION: C_RET cryptCreateSession ( CRYPT_SESSION* session, CRYPT_USER cryptUser, CRYPT_SESSION_TYPE formatType ) ;
|
|
FUNCTION: C_RET cryptDestroySession ( CRYPT_SESSION session ) ;
|