📄 cryptlib.h
字号:
/* sigPolicyQualifiers.sigPolicyQualifier.userNotice.explicitText */
/* 1 2 840 113549 1 9 16 9 signatureTypeIdentifier */
CRYPT_CERTINFO_CMS_SIGTYPEIDENTIFIER,
CRYPT_CERTINFO_CMS_SIGTYPEID_ORIGINATORSIG, /* originatorSig */
CRYPT_CERTINFO_CMS_SIGTYPEID_DOMAINSIG, /* domainSig */
CRYPT_CERTINFO_CMS_SIGTYPEID_ADDITIONALATTRIBUTES, /* additionalAttributesSig */
CRYPT_CERTINFO_CMS_SIGTYPEID_REVIEWSIG, /* reviewSig */
/* 1 2 840 113549 1 9 25 3 randomNonce */
CRYPT_CERTINFO_CMS_NONCE, /* randomNonce */
/* SCEP attributes:
2 16 840 1 113733 1 9 2 messageType
2 16 840 1 113733 1 9 3 pkiStatus
2 16 840 1 113733 1 9 4 failInfo
2 16 840 1 113733 1 9 5 senderNonce
2 16 840 1 113733 1 9 6 recipientNonce
2 16 840 1 113733 1 9 7 transID */
CRYPT_CERTINFO_SCEP_MESSAGETYPE, /* messageType */
CRYPT_CERTINFO_SCEP_PKISTATUS, /* pkiStatus */
CRYPT_CERTINFO_SCEP_FAILINFO, /* failInfo */
CRYPT_CERTINFO_SCEP_SENDERNONCE, /* senderNonce */
CRYPT_CERTINFO_SCEP_RECIPIENTNONCE, /* recipientNonce */
CRYPT_CERTINFO_SCEP_TRANSACTIONID, /* transID */
/* 1 3 6 1 4 1 311 2 1 10 spcAgencyInfo */
CRYPT_CERTINFO_CMS_SPCAGENCYINFO,
CRYPT_CERTINFO_CMS_SPCAGENCYURL, /* spcAgencyInfo.url */
/* 1 3 6 1 4 1 311 2 1 11 spcStatementType */
CRYPT_CERTINFO_CMS_SPCSTATEMENTTYPE,
CRYPT_CERTINFO_CMS_SPCSTMT_INDIVIDUALCODESIGNING, /* individualCodeSigning */
CRYPT_CERTINFO_CMS_SPCSTMT_COMMERCIALCODESIGNING, /* commercialCodeSigning */
/* 1 3 6 1 4 1 311 2 1 12 spcOpusInfo */
CRYPT_CERTINFO_CMS_SPCOPUSINFO,
CRYPT_CERTINFO_CMS_SPCOPUSINFO_NAME, /* spcOpusInfo.name */
CRYPT_CERTINFO_CMS_SPCOPUSINFO_URL, /* spcOpusInfo.url */
/* Used internally */
CRYPT_CERTINFO_LAST, CRYPT_KEYINFO_FIRST = 3000,
/*********************/
/* Keyset attributes */
/*********************/
CRYPT_KEYINFO_QUERY, /* Keyset query */
CRYPT_KEYINFO_QUERY_REQUESTS, /* Query of requests in cert store */
/* Used internally */
CRYPT_KEYINFO_LAST, CRYPT_DEVINFO_FIRST = 4000,
/*********************/
/* Device attributes */
/*********************/
CRYPT_DEVINFO_INITIALISE, /* Initialise device for use */
CRYPT_DEVINFO_INITIALIZE = CRYPT_DEVINFO_INITIALISE,
CRYPT_DEVINFO_AUTHENT_USER, /* Authenticate user to device */
CRYPT_DEVINFO_AUTHENT_SUPERVISOR, /* Authenticate supervisor to dev.*/
CRYPT_DEVINFO_SET_AUTHENT_USER, /* Set user authent.value */
CRYPT_DEVINFO_SET_AUTHENT_SUPERVISOR, /* Set supervisor auth.val.*/
CRYPT_DEVINFO_ZEROISE, /* Zeroise device */
CRYPT_DEVINFO_ZEROIZE = CRYPT_DEVINFO_ZEROISE,
CRYPT_DEVINFO_LOGGEDIN, /* Whether user is logged in */
CRYPT_DEVINFO_LABEL, /* Device/token label */
/* Used internally */
CRYPT_DEVINFO_LAST, CRYPT_ENVINFO_FIRST = 5000,
/***********************/
/* Envelope attributes */
/***********************/
/* Pseudo-information on an envelope or meta-information which is used to
control the way that data in an envelope is processed */
CRYPT_ENVINFO_DATASIZE, /* Data size information */
CRYPT_ENVINFO_COMPRESSION, /* Compression information */
CRYPT_ENVINFO_CONTENTTYPE, /* Inner CMS content type */
CRYPT_ENVINFO_DETACHEDSIGNATURE,/* Generate CMS detached signature */
CRYPT_ENVINFO_SIGNATURE_RESULT, /* Signature check result */
CRYPT_ENVINFO_MAC, /* Use MAC instead of encrypting */
/* Resources required for enveloping/deenveloping */
CRYPT_ENVINFO_PASSWORD, /* User password */
CRYPT_ENVINFO_KEY, /* Conventional encryption key */
CRYPT_ENVINFO_SIGNATURE, /* Signature/signature check key */
CRYPT_ENVINFO_SIGNATURE_EXTRADATA, /* Extra information added to CMS sigs */
CRYPT_ENVINFO_RECIPIENT, /* Recipient email address */
CRYPT_ENVINFO_PUBLICKEY, /* PKC encryption key */
CRYPT_ENVINFO_PRIVATEKEY, /* PKC decryption key */
CRYPT_ENVINFO_PRIVATEKEY_LABEL, /* Label of PKC decryption key */
CRYPT_ENVINFO_ORIGINATOR, /* Originator info/key */
CRYPT_ENVINFO_SESSIONKEY, /* Session key */
CRYPT_ENVINFO_HASH, /* Hash value */
CRYPT_ENVINFO_TIMESTAMP, /* Timestamp information */
/* Keysets used to retrieve keys needed for enveloping/deenveloping */
CRYPT_ENVINFO_KEYSET_SIGCHECK, /* Signature check keyset */
CRYPT_ENVINFO_KEYSET_ENCRYPT, /* PKC encryption keyset */
CRYPT_ENVINFO_KEYSET_DECRYPT, /* PKC decryption keyset */
/* Used internally */
CRYPT_ENVINFO_LAST, CRYPT_SESSINFO_FIRST = 6000,
/**********************/
/* Session attributes */
/**********************/
/* Pseudo-information on a session or meta-information which is used to
control the way that a session is managed */
/* Pseudo-information about the session */
CRYPT_SESSINFO_ACTIVE, /* Whether session is active */
CRYPT_SESSINFO_CONNECTIONACTIVE,/* Whether network connection is active */
/* Security-related information */
CRYPT_SESSINFO_USERNAME, /* User name */
CRYPT_SESSINFO_PASSWORD, /* Password */
CRYPT_SESSINFO_PRIVATEKEY, /* Server/client private key */
CRYPT_SESSINFO_KEYSET, /* Certificate store */
CRYPT_SESSINFO_AUTHRESPONSE, /* Session authorisation OK */
/* Client/server information */
CRYPT_SESSINFO_SERVER_NAME, /* Server name */
CRYPT_SESSINFO_SERVER_PORT, /* Server port number */
CRYPT_SESSINFO_SERVER_FINGERPRINT,/* Server key fingerprint */
CRYPT_SESSINFO_CLIENT_NAME, /* Client name */
CRYPT_SESSINFO_CLIENT_PORT, /* Client port number */
CRYPT_SESSINFO_SESSION, /* Transport mechanism */
CRYPT_SESSINFO_NETWORKSOCKET, /* User-supplied network socket */
/* Generic protocol-related information */
CRYPT_SESSINFO_VERSION, /* Protocol version */
CRYPT_SESSINFO_REQUEST, /* Cert.request object */
CRYPT_SESSINFO_RESPONSE, /* Cert.response object */
CRYPT_SESSINFO_CACERTIFICATE, /* Issuing CA certificate */
/* Protocol-specific information */
CRYPT_SESSINFO_TSP_MSGIMPRINT, /* TSP message imprint */
CRYPT_SESSINFO_CMP_REQUESTTYPE, /* Request type */
CRYPT_SESSINFO_CMP_PKIBOOT, /* Enable PKIBoot facility */
CRYPT_SESSINFO_CMP_PRIVKEYSET, /* Private-key keyset */
CRYPT_SESSINFO_SSH_CHANNEL, /* SSH current channel */
CRYPT_SESSINFO_SSH_CHANNEL_TYPE,/* SSH channel type */
CRYPT_SESSINFO_SSH_CHANNEL_ARG1,/* SSH channel argument 1 */
CRYPT_SESSINFO_SSH_CHANNEL_ARG2,/* SSH channel argument 2 */
CRYPT_SESSINFO_SSH_CHANNEL_ACTIVE,/* SSH channel active */
/* Used internally */
CRYPT_SESSINFO_LAST, CRYPT_USERINFO_FIRST = 7000,
/**********************/
/* User attributes */
/**********************/
/* Security-related information */
CRYPT_USERINFO_PASSWORD, /* Password */
/* User role-related information */
CRYPT_USERINFO_CAKEY_CERTSIGN, /* CA cert signing key */
CRYPT_USERINFO_CAKEY_CRLSIGN, /* CA CRL signing key */
CRYPT_USERINFO_CAKEY_RTCSSIGN, /* CA RTCS signing key */
CRYPT_USERINFO_CAKEY_OCSPSIGN, /* CA OCSP signing key */
/* Used internally for range checking */
CRYPT_USERINFO_LAST, CRYPT_ATTRIBUTE_LAST = CRYPT_USERINFO_LAST
#ifdef _CRYPT_DEFINED
/***********************/
/* Internal attributes */
/***********************/
/* The following attributes are only visible internally and are protected
from any external access by the kernel (and for good measure by checks
in other places as well). The two attributes CRYPT_IATTRIBUTE_KEY_SPKI
and CRYPT_IATTRIBUTE_SPKI are actually the same thing, the difference
is that the former is write-only for contexts and the latter is read-
only for certificates (the former is used when loading a context from
a key contained in a device, where the actual key components aren't
directly available in the context but may be needed in the future for
things like cert requests). Because a single object can act as both a
context and a cert, having two explicitly different attribute names
makes things less confusing. In addition, some public-key attributes
have _PARTIAL variants that load the public-key components but don't
initialise the key/move the context into the high state. This is
used for formats in which public and private-key components are loaded
separately */
, CRYPT_IATTRIBUTE_FIRST = 8000,
CRYPT_IATTRIBUTE_TYPE, /* Object type */
CRYPT_IATTRIBUTE_SUBTYPE, /* Object subtype */
CRYPT_IATTRIBUTE_STATUS, /* Object status */
CRYPT_IATTRIBUTE_INTERNAL, /* Object internal flag */
CRYPT_IATTRIBUTE_ACTIONPERMS, /* Object action permissions */
CRYPT_IATTRIBUTE_LOCKED, /* Object locked for exclusive use */
CRYPT_IATTRIBUTE_INITIALISED, /* Object inited (in high state) */
CRYPT_IATTRIBUTE_KEYSIZE, /* Ctx: Key size (written to non-native ctxs) */
CRYPT_IATTRIBUTE_KEYFEATURES, /* Ctx: Key feature info */
CRYPT_IATTRIBUTE_KEYID, /* Ctx: Key ID */
CRYPT_IATTRIBUTE_KEYID_PGP, /* Ctx: PGP key ID */
CRYPT_IATTRIBUTE_KEYID_OPENPGP, /* Ctx: OpenPGP key ID */
CRYPT_IATTRIBUTE_KEY_KEADOMAINPARAMS,/* Ctx: Key agreement domain parameters */
CRYPT_IATTRIBUTE_KEY_KEAPUBLICVALUE,/* Ctx: Key agreement public value */
CRYPT_IATTRIBUTE_KEY_SPKI, /* Ctx: SubjectPublicKeyInfo */
CRYPT_IATTRIBUTE_KEY_PGP, /* Ctx: PGP-format public key */
CRYPT_IATTRIBUTE_KEY_SSH1, /* Ctx: SSHv1-format public key */
CRYPT_IATTRIBUTE_KEY_SSH2, /* Ctx: SSHv2-format public key */
CRYPT_IATTRIBUTE_KEY_SSL, /* Ctx: SSL-format public key */
CRYPT_IATTRIBUTE_KEY_SPKI_PARTIAL,/* Ctx: SubjectPublicKeyInfo w/o trigger */
CRYPT_IATTRIBUTE_KEY_PGP_PARTIAL,/* Ctx: PGP public key w/o trigger */
CRYPT_IATTRIBUTE_PGPVALIDITY, /* Ctx: PGP key validity */
CRYPT_IATTRIBUTE_DEVICEOBJECT, /* Ctx: Device object handle */
CRYPT_IATTRIBUTE_CRLENTRY, /* Cert: Individual entry from CRL */
CRYPT_IATTRIBUTE_SUBJECT, /* Cert: SubjectName */
CRYPT_IATTRIBUTE_ISSUER, /* Cert: IssuerName */
CRYPT_IATTRIBUTE_ISSUERANDSERIALNUMBER, /* Cert: IssuerAndSerial */
CRYPT_IATTRIBUTE_SPKI, /* Cert: Encoded SubjectPublicKeyInfo */
CRYPT_IATTRIBUTE_CERTHASHALGO, /* Cert: Hash algo.used for cert */
CRYPT_IATTRIBUTE_CERTCOLLECTION,/* Cert: Certs added to cert chain */
CRYPT_IATTRIBUTE_RESPONDERURL, /* Cert: RTCS/OCSP responder name */
CRYPT_IATTRIBUTE_RTCSREQUEST, /* Cert: RTCS req.info added to RTCS resp.*/
CRYPT_IATTRIBUTE_OCSPREQUEST, /* Cert: OCSP req.info added to OCSP resp.*/
CRYPT_IATTRIBUTE_REVREQUEST, /* Cert: CRMF rev.request added to CRL */
CRYPT_IATTRIBUTE_PKIUSERINFO, /* Cert: Additional user info added to cert.req.*/
CRYPT_IATTRIBUTE_BLOCKEDATTRS, /* Cert: Template of disallowed attrs.in cert */
CRYPT_IATTRIBUTE_AUTHCERTID, /* Cert: Authorising cert ID for a cert/rev.req.*/
CRYPT_IATTRIBUTE_ESSCERTID, /* Cert: ESSCertID */
CRYPT_IATTRIBUTE_ENTROPY, /* Dev: Polled entropy data */
CRYPT_IATTRIBUTE_ENTROPY_QUALITY,/* Dev: Quality of entropy data */
CRYPT_IATTRIBUTE_RANDOM_LOPICKET,/* Dev: Low picket for random data attrs.*/
CRYPT_IATTRIBUTE_RANDOM, /* Dev: Random data */
CRYPT_IATTRIBUTE_RANDOM_NZ, /* Dev: Nonzero random data */
CRYPT_IATTRIBUTE_RANDOM_HIPICKET,/* Dev: High picket for random data attrs.*/
CRYPT_IATTRIBUTE_RANDOM_NONCE, /* Dev: Basic nonce */
CRYPT_IATTRIBUTE_SELFTEST, /* Dev: Perform self-test */
CRYPT_IATTRIBUTE_TIME, /* Dev: Reliable (hardware-based) time value */
CRYPT_IATTRIBUTE_INCLUDESIGCERT,/* Env: Whether to include signing cert(s) */
CRYPT_IATTRIBUTE_ATTRONLY, /* Env: Signed data contains only CMS attrs.*/
CRYPT_IATTRIBUTE_CONFIGDATA, /* Keyset: Config information */
CRYPT_IATTRIBUTE_USERINDEX, /* Keyset: Index of users */
CRYPT_IATTRIBUTE_USERID, /* Keyset: User ID */
CRYPT_IATTRIBUTE_USERINFO, /* Keyset: User information */
CRYPT_IATTRIBUTE_TRUSTEDCERT, /* Keyset: First trusted cert */
CRYPT_IATTRIBUTE_TRUSTEDCERT_NEXT, /* Keyset: Successive trusted certs */
CRYPT_IATTRIBUTE_ENC_TIMESTAMP, /* Session: Encoded TSA timestamp */
CRYPT_IATTRUBUTE_CERTKEYSET, /* User: Keyset to send trusted certs to */
CRYPT_IATTRIBUTE_CTL, /* User: Cert.trust list */
CRYPT_IATTRIBUTE_CERT_TRUSTED, /* User: Set trusted cert */
CRYPT_IATTRIBUTE_CERT_UNTRUSTED,/* User: Unset trusted cert */
CRYPT_IATTRIBUTE_CERT_CHECKTRUST,/* User: Check trust status of cert */
CRYPT_IATTRIBUTE_CERT_TRUSTEDISSUER,/* User: Get trusted issuer of cert */
CRYPT_IATTRIBUTE_LAST,
/* Subrange values used internally for range checking */
CRYPT_CERTINFO_FIRST_CERTINFO = CRYPT_CERTINFO_FIRST + 1,
CRYPT_CERTINFO_LAST_CERTINFO = CRYPT_CERTINFO_PKIUSER_REVPASSWORD,
CRYPT_CERTINFO_FIRST_PSEUDOINFO = CRYPT_CERTINFO_SELFSIGNED,
CRYPT_CERTINFO_LAST_PSEUDOINFO = CRYPT_CERTINFO_SIGNATURELEVEL,
CRYPT_CERTINFO_FIRST_NAME = CRYPT_CERTINFO_COUNTRYNAME,
CRYPT_CERTINFO_LAST_NAME = CRYPT_CERTINFO_REGISTEREDID,
CRYPT_CERTINFO_FIRST_DN = CRYPT_CERTINFO_COUNTRYNAME,
CRYPT_CERTINFO_LAST_DN = CRYPT_CERTINFO_COMMONNAME,
CRYPT_CERTINFO_FIRST_GENERALNAME = CRYPT_CERTINFO_OTHERNAME_TYPEID,
CRYPT_CERTINFO_LAST_GENERALNAME = CRYPT_CERTINFO_REGISTEREDID,
CRYPT_CERTINFO_FIRST_EXTENSION = CRYPT_CERTINFO_CHALLENGEPASSWORD,
CRYPT_CERTINFO_LAST_EXTENSION = CRYPT_CERTINFO_SET_TUNNELINGALGID,
CRYPT_CERTINFO_FIRST_CMS = CRYPT_CERTINFO_CMS_CONTENTTYPE,
CRYPT_CERTINFO_LAST_CMS = CRYPT_CERTINFO_LAST - 1,
CRYPT_SESSINFO_FIRST_SPECIFIC = CRYPT_SESSINFO_REQUEST,
CRYPT_SESSINFO_LAST_SPECIFIC = CRYPT_SESSINFO_SSH_CHANNEL_ACTIVE
#endif /* _CRYPT_DEFINED */
} CRYPT_ATTRIBUTE_TYPE;
/****************************************************************************
* *
* Attribute Subtypes and Related Values *
* *
****************************************************************************/
/* Flags for the X.509 keyUsage extension */
#define CRYPT_KEYUSAGE_NONE 0x000
#define CRYPT_KEYUSAGE_DIGITALSIGNATURE 0x001
#define CRYPT_KEYUSAGE_NONREPUDIATION 0x002
#define CRYPT_KEYUSAGE_KEYENCIPHERMENT 0x004
#define CRYPT_KEYUSAGE_DATAENCIPHERMENT 0x008
#define CRYPT_KEYUSAGE_KEYAGREEMENT 0x010
#define CRYPT_KEYUSAGE_KEYCERTSIGN 0x020
#define CRYPT_KEYUSAGE_CRLSIGN 0x040
#define CRYPT_KEYUSAGE_ENCIPHERONLY 0x080
#define CRYPT_KEYUSAGE_DECIPHERONLY 0x100
#define CRYPT_KEYUSAGE_LAST 0x200 /* Last possible value */
/* X.509 cRLReason and cryptlib cRLExtReason codes */
enum { CRYPT_CRLREASON_UNSPECIFIED, CRYPT_CRLREASON_KEYCOMPROMISE,
CRYPT_CRLREASON_CACOMPROMISE, CRYPT_CRLREASON_AFFILIATIONCHANGED,
CRYPT_CRLREASON_SUPERSEDED, CRYPT_CRLREASON_CESSATIONOFOPERATION,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -