cryptlib.bas

来自「老外写的加密库cryptlib(版本3.1)」· BAS 代码 · 共 1,540 行 · 第 1/5 页

BAS
1,540
字号
    ' Used internally for range checking 
    CRYPT_USERINFO_LAST
    CRYPT_ATTRIBUTE_LAST = CRYPT_USERINFO_LAST

    

End Enum

'****************************************************************************
'*                                                                           *
'*                       Attribute Subtypes and Related Values               *
'*                                                                           *
'****************************************************************************

' Flags for the X.509 keyUsage extension 

  Public Const CRYPT_KEYUSAGE_NONE As Long = &H000
  Public Const CRYPT_KEYUSAGE_DIGITALSIGNATURE As Long = &H001
  Public Const CRYPT_KEYUSAGE_NONREPUDIATION As Long = &H002
  Public Const CRYPT_KEYUSAGE_KEYENCIPHERMENT As Long = &H004
  Public Const CRYPT_KEYUSAGE_DATAENCIPHERMENT As Long = &H008
  Public Const CRYPT_KEYUSAGE_KEYAGREEMENT As Long = &H010
  Public Const CRYPT_KEYUSAGE_KEYCERTSIGN As Long = &H020
  Public Const CRYPT_KEYUSAGE_CRLSIGN As Long = &H040
  Public Const CRYPT_KEYUSAGE_ENCIPHERONLY As Long = &H080
  Public Const CRYPT_KEYUSAGE_DECIPHERONLY As Long = &H100
  Public Const CRYPT_KEYUSAGE_LAST As Long = &H200   ' Last possible value 

' X.509 cRLReason and cryptlib cRLExtReason codes 

  Public Const CRYPT_CRLREASON_UNSPECIFIED As Long = 0
  Public Const CRYPT_CRLREASON_KEYCOMPROMISE As Long = 1
  Public Const CRYPT_CRLREASON_CACOMPROMISE As Long = 2
  Public Const CRYPT_CRLREASON_AFFILIATIONCHANGED As Long = 3
  Public Const CRYPT_CRLREASON_SUPERSEDED As Long = 4
  Public Const CRYPT_CRLREASON_CESSATIONOFOPERATION As Long = 5
  Public Const CRYPT_CRLREASON_CERTIFICATEHOLD As Long = 6
  Public Const CRYPT_CRLREASON_REMOVEFROMCRL As Long = 8
  Public Const CRYPT_CRLREASON_LAST As Long = 9
  Public Const CRYPT_CRLREASON_NEVERVALID As Long = 10
  Public Const CRYPT_CRLEXTREASON_LAST  As Long = 11


'  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 

  Public Const CRYPT_CRLREASONFLAG_UNUSED As Long = &H001
  Public Const CRYPT_CRLREASONFLAG_KEYCOMPROMISE As Long = &H002
  Public Const CRYPT_CRLREASONFLAG_CACOMPROMISE As Long = &H004
  Public Const CRYPT_CRLREASONFLAG_AFFILIATIONCHANGED As Long = &H008
  Public Const CRYPT_CRLREASONFLAG_SUPERSEDED As Long = &H010
  Public Const CRYPT_CRLREASONFLAG_CESSATIONOFOPERATION As Long = &H020
  Public Const CRYPT_CRLREASONFLAG_CERTIFICATEHOLD As Long = &H040
  Public Const CRYPT_CRLREASONFLAG_LAST As Long = &H080   ' Last poss.value 

' X.509 CRL holdInstruction codes 

  Public Const CRYPT_HOLDINSTRUCTION_NONE As Long = 0
  Public Const CRYPT_HOLDINSTRUCTION_CALLISSUER As Long = 1
  Public Const CRYPT_HOLDINSTRUCTION_REJECT As Long = 2
  Public Const CRYPT_HOLDINSTRUCTION_PICKUPTOKEN As Long = 3
  Public Const CRYPT_HOLDINSTRUCTION_LAST  As Long = 4


' Certificate checking compliance levels 

  Public Const CRYPT_COMPLIANCELEVEL_OBLIVIOUS As Long = 0
  Public Const CRYPT_COMPLIANCELEVEL_REDUCED As Long = 1
  Public Const CRYPT_COMPLIANCELEVEL_STANDARD As Long = 2
  Public Const CRYPT_COMPLIANCELEVEL_PKIX_PARTIAL As Long = 3
  Public Const CRYPT_COMPLIANCELEVEL_PKIX_FULL As Long = 4
  Public Const CRYPT_COMPLIANCELEVEL_LAST  As Long = 5


' Flags for the Netscape netscape-cert-type extension 

  Public Const CRYPT_NS_CERTTYPE_SSLCLIENT As Long = &H001
  Public Const CRYPT_NS_CERTTYPE_SSLSERVER As Long = &H002
  Public Const CRYPT_NS_CERTTYPE_SMIME As Long = &H004
  Public Const CRYPT_NS_CERTTYPE_OBJECTSIGNING As Long = &H008
  Public Const CRYPT_NS_CERTTYPE_RESERVED As Long = &H010
  Public Const CRYPT_NS_CERTTYPE_SSLCA As Long = &H020
  Public Const CRYPT_NS_CERTTYPE_SMIMECA As Long = &H040
  Public Const CRYPT_NS_CERTTYPE_OBJECTSIGNINGCA As Long = &H080
  Public Const CRYPT_NS_CERTTYPE_LAST As Long = &H100   ' Last possible value 

' Flags for the SET certificate-type extension 

  Public Const CRYPT_SET_CERTTYPE_CARD As Long = &H001
  Public Const CRYPT_SET_CERTTYPE_MER As Long = &H002
  Public Const CRYPT_SET_CERTTYPE_PGWY As Long = &H004
  Public Const CRYPT_SET_CERTTYPE_CCA As Long = &H008
  Public Const CRYPT_SET_CERTTYPE_MCA As Long = &H010
  Public Const CRYPT_SET_CERTTYPE_PCA As Long = &H020
  Public Const CRYPT_SET_CERTTYPE_GCA As Long = &H040
  Public Const CRYPT_SET_CERTTYPE_BCA As Long = &H080
  Public Const CRYPT_SET_CERTTYPE_RCA As Long = &H100
  Public Const CRYPT_SET_CERTTYPE_ACQ As Long = &H200
  Public Const CRYPT_SET_CERTTYPE_LAST As Long = &H400   ' Last possible value 

' CMS contentType values 

Public Enum CRYPT_CONTENT_TYPE
 CRYPT_CONTENT_NONE
 CRYPT_CONTENT_DATA
               CRYPT_CONTENT_SIGNEDDATA
               CRYPT_CONTENT_ENVELOPEDDATA
               CRYPT_CONTENT_SIGNEDANDENVELOPEDDATA
               CRYPT_CONTENT_DIGESTEDDATA
               CRYPT_CONTENT_ENCRYPTEDDATA
               CRYPT_CONTENT_COMPRESSEDDATA
               CRYPT_CONTENT_TSTINFO
               CRYPT_CONTENT_SPCINDIRECTDATACONTEXT
               CRYPT_CONTENT_RTCSREQUEST
               CRYPT_CONTENT_RTCSRESPONSE
               CRYPT_CONTENT_RTCSRESPONSE_EXT
               CRYPT_CONTENT_LAST
             

End Enum

' ESS securityClassification codes 

  Public Const CRYPT_CLASSIFICATION_UNMARKED As Long = 0
  Public Const CRYPT_CLASSIFICATION_UNCLASSIFIED As Long = 1
  Public Const CRYPT_CLASSIFICATION_RESTRICTED As Long = 2
  Public Const CRYPT_CLASSIFICATION_CONFIDENTIAL As Long = 3
  Public Const CRYPT_CLASSIFICATION_SECRET As Long = 4
  Public Const CRYPT_CLASSIFICATION_TOP_SECRET As Long = 5
  Public Const CRYPT_CLASSIFICATION_LAST As Long = 255


' RTCS certificate status 

  Public Const CRYPT_CERTSTATUS_VALID As Long = 0
  Public Const CRYPT_CERTSTATUS_NOTVALID As Long = 1
  Public Const CRYPT_CERTSTATUS_NONAUTHORITATIVE As Long = 2
  Public Const CRYPT_CERTSTATUS_UNKNOWN  As Long = 3


' OCSP revocation status 

  Public Const CRYPT_OCSPSTATUS_NOTREVOKED As Long = 0
  Public Const CRYPT_OCSPSTATUS_REVOKED As Long = 1
  Public Const CRYPT_OCSPSTATUS_UNKNOWN  As Long = 2


'  The amount of detail to include in signatures when signing certificate
'  objects 

Public Enum CRYPT_SIGNATURELEVEL_TYPE
 
    CRYPT_SIGNATURELEVEL_NONE       ' Include only signature 
    CRYPT_SIGNATURELEVEL_SIGNERCERT ' Include signer cert 
    CRYPT_SIGNATURELEVEL_ALL        ' Include all relevant info 
    CRYPT_SIGNATURELEVEL_LAST       ' Last possible sig.level type 
    

End Enum

'  The certificate export format type, which defines the format in which a
'  certificate object is exported 

Public Enum CRYPT_CERTFORMAT_TYPE

    CRYPT_CERTFORMAT_NONE           ' No certificate format 
    CRYPT_CERTFORMAT_CERTIFICATE    ' DER-encoded certificate 
    CRYPT_CERTFORMAT_CERTCHAIN      ' PKCS #7 certificate chain 
    CRYPT_CERTFORMAT_TEXT_CERTIFICATE   ' base-64 wrapped cert 
    CRYPT_CERTFORMAT_TEXT_CERTCHAIN     ' base-64 wrapped cert chain 
    CRYPT_CERTFORMAT_XML_CERTIFICATE    ' XML wrapped cert 
    CRYPT_CERTFORMAT_XML_CERTCHAIN  ' XML wrapped cert chain 
    CRYPT_CERTFORMAT_LAST           ' Last possible cert.format type 
    

End Enum

' CMP request types 

Public Enum CRYPT_REQUESTTYPE_TYPE

    CRYPT_REQUESTTYPE_NONE          ' No request type 
    CRYPT_REQUESTTYPE_INITIALISATION    ' Initialisation request 
        CRYPT_REQUESTTYPE_INITIALIZATION = CRYPT_REQUESTTYPE_INITIALISATION
    CRYPT_REQUESTTYPE_CERTIFICATE   ' Certification request 
    CRYPT_REQUESTTYPE_KEYUPDATE     ' Key update request 
    CRYPT_REQUESTTYPE_REVOCATION    ' Cert revocation request 
    CRYPT_REQUESTTYPE_PKIBOOT       ' PKIBoot request 
    CRYPT_REQUESTTYPE_LAST          ' Last possible request type 
    

End Enum

' Key ID types 

Public Enum CRYPT_KEYID_TYPE

    CRYPT_KEYID_NONE                ' No key ID type 
    CRYPT_KEYID_NAME                ' Key owner name 
    CRYPT_KEYID_EMAIL               ' Key owner email address 
    CRYPT_KEYID_LAST                ' Last possible key ID type 
    

End Enum

' The encryption object types 

Public Enum CRYPT_OBJECT_TYPE

    CRYPT_OBJECT_NONE               ' No object type 
    CRYPT_OBJECT_ENCRYPTED_KEY      ' Conventionally encrypted key 
    CRYPT_OBJECT_PKCENCRYPTED_KEY   ' PKC-encrypted key 
    CRYPT_OBJECT_KEYAGREEMENT       ' Key agreement information 
    CRYPT_OBJECT_SIGNATURE          ' Signature 
    CRYPT_OBJECT_LAST               ' Last possible object type 
    

End Enum

' Object/attribute error type information 

Public Enum CRYPT_ERRTYPE_TYPE

    CRYPT_ERRTYPE_NONE              ' No error information 
    CRYPT_ERRTYPE_ATTR_SIZE         ' Attribute data too small or large 
    CRYPT_ERRTYPE_ATTR_VALUE        ' Attribute value is invalid 
    CRYPT_ERRTYPE_ATTR_ABSENT       ' Required attribute missing 
    CRYPT_ERRTYPE_ATTR_PRESENT      ' Non-allowed attribute present 
    CRYPT_ERRTYPE_CONSTRAINT        ' Cert: Constraint violation in object 
    CRYPT_ERRTYPE_ISSUERCONSTRAINT  ' Cert: Constraint viol.in issuing cert 
    CRYPT_ERRTYPE_LAST              ' Last possible error info type 
    

End Enum

' Cert store management action type 

Public Enum CRYPT_CERTACTION_TYPE

    CRYPT_CERTACTION_NONE           ' No cert management action 
    CRYPT_CERTACTION_CREATE         ' Create cert store 
    CRYPT_CERTACTION_CONNECT        ' Connect to cert store 
    CRYPT_CERTACTION_DISCONNECT     ' Disconnect from cert store 
    CRYPT_CERTACTION_ERROR          ' Error information 
    CRYPT_CERTACTION_ADDUSER        ' Add PKI user 
    CRYPT_CERTACTION_REQUEST_CERT   ' Cert request 
    CRYPT_CERTACTION_REQUEST_RENEWAL ' Cert renewal request 
    CRYPT_CERTACTION_REQUEST_REVOCATION ' Cert revocation request 
    CRYPT_CERTACTION_CERT_CREATION  ' Cert creation 
    CRYPT_CERTACTION_CERT_CREATION_COMPLETE ' Confirmation of cert creation 
    CRYPT_CERTACTION_CERT_CREATION_DROP     ' Cancellation of cert creation 
    CRYPT_CERTACTION_CERT_CREATION_REVERSE  ' Cancel of creation w.revocation 
    CRYPT_CERTACTION_RESTART_CLEANUP  ' Delete reqs after restart 
    CRYPT_CERTACTION_RESTART_REVOKE_CERT  ' Complete revocation after restart 
    CRYPT_CERTACTION_ISSUE_CERT     ' Cert issue 
    CRYPT_CERTACTION_ISSUE_CRL      ' CRL issue 
    CRYPT_CERTACTION_REVOKE_CERT    ' Cert revocation 
    CRYPT_CERTACTION_EXPIRE_CERT    ' Cert expiry 
    CRYPT_CERTACTION_CLEANUP        ' Clean up on restart 
    CRYPT_CERTACTION_LAST           ' Last possible cert store log action 
    

End Enum

'****************************************************************************
'*                                                                           *
'*                               General Constants                           *
'*                                                                           *
'****************************************************************************

' The maximum user key size - 2048 bits 

  Public Const CRYPT_MAX_KEYSIZE As Long = 256

' The maximum IV size - 256 bits 

  Public Const CRYPT_MAX_IVSIZE As Long = 32

' The maximum public-key component size - 4096 bits 

  Public Const CRYPT_MAX_PKCSIZE As Long = 512

' The maximum hash size - 256 bits 

  Public Const CRYPT_MAX_HASHSIZE As Long = 32

' The maximum size of a text string (e.g.key owner name) 

  Public Const CRYPT_MAX_TEXTSIZE As Long = 64

'  A magic value indicating that the default setting for this parameter
'  should be used 

  Public Const CRYPT_USE_DEFAULT As Long = -10

' A magic value for unused parameters 

  Public Const CRYPT_UNUSED As Long = -11

' Whether the PKC key is a public or private key 

  Public Const CRYPT_KEYTYPE_PRIVATE As Long = 0
  Public Const CRYPT_KEYTYPE_PUBLIC As Long = 1

' The type of information polling to perform to get random seed information 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?