encodingType 枚举 (certenroll.h)

EncodingType 枚举指定为显示目的应用于字节数组的编码类型。

语法

typedef enum EncodingType {
  XCN_CRYPT_STRING_BASE64HEADER = 0,
  XCN_CRYPT_STRING_BASE64 = 0x1,
  XCN_CRYPT_STRING_BINARY = 0x2,
  XCN_CRYPT_STRING_BASE64REQUESTHEADER = 0x3,
  XCN_CRYPT_STRING_HEX = 0x4,
  XCN_CRYPT_STRING_HEXASCII = 0x5,
  XCN_CRYPT_STRING_BASE64_ANY = 0x6,
  XCN_CRYPT_STRING_ANY = 0x7,
  XCN_CRYPT_STRING_HEX_ANY = 0x8,
  XCN_CRYPT_STRING_BASE64X509CRLHEADER = 0x9,
  XCN_CRYPT_STRING_HEXADDR = 0xa,
  XCN_CRYPT_STRING_HEXASCIIADDR = 0xb,
  XCN_CRYPT_STRING_HEXRAW = 0xc,
  XCN_CRYPT_STRING_BASE64URI = 0xd,
  XCN_CRYPT_STRING_ENCODEMASK = 0xff,
  XCN_CRYPT_STRING_CHAIN = 0x100,
  XCN_CRYPT_STRING_TEXT = 0x200,
  XCN_CRYPT_STRING_PERCENTESCAPE = 0x8000000,
  XCN_CRYPT_STRING_HASHDATA = 0x10000000,
  XCN_CRYPT_STRING_STRICT = 0x20000000,
  XCN_CRYPT_STRING_NOCRLF = 0x40000000,
  XCN_CRYPT_STRING_NOCR = 0x80000000
} ;

常量

 
XCN_CRYPT_STRING_BASE64HEADER
值: 0
字符串使用开始和结束证书标头进行 base64 编码。 Base64 是用于传输二进制数据的编码方案。 要编码的数据一次检查三个字节。 24 位缓冲区中的每 6 位用作文本字符串的索引。 使用的字符串因编码的数据类型而异。 以下字符串通常用于多用途 Internet 邮件扩展 (MIME) 电子邮件 base64 编码。


syntax<br>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/<br>

以下示例显示了一个经过 base64 编码并包含开头和结束标头的证书。


syntax<br>-----BEGIN CERTIFICATE-----<br>MIIBqDCCARECAQAwaTELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRMwEQYD<br>VQQHEwpMYXNDb2xpbmFzMRIwEAYDVQQKEwlNaWNyb3NvZnQxDjAMBgNVBAsTBUl0<br>ZWFtMREwDwYDVQQDFAhOVFZPT0RPTzCBnjANBgkqhkiG9w0BAQEFAAOBjAAwgYgC<br>gYBxmmAWKbLJHg5TuVyjgzWW0JsY5Shaqd7BDWtqhzy4HfRTW22f31rlm8NeSXHn<br>EhLiwsGgNzWHJ8no1QIYzAgpDR79oqxvgrY4WS3PXT7OLwIDAQABoAAwDQYJKoZI<br>hvcNAQEEBQADgYEAVcyI4jtnnV6kMiByiq4Xg99yL0U7bIpEwAf3MIZHS7wuNqfY<br>acfhbRj6VFHT8ObprKGPmqXJvwrBmPrEuCs4Ik6PidAAeEfoaa3naIbM73tTvKN+<br>WD30lAfGBr8SZixLep4pMIN/wO0eu6f30cBuoPtDnDulNT8AuQHjkJIc8Qc=<br>-----END CERTIFICATE----- <br>
XCN_CRYPT_STRING_BASE64
值: 0x1
字符串是 base64 编码的,没有证书标头的开头和结尾。
XCN_CRYPT_STRING_BINARY
值: 0x2
字符串是纯二进制序列。 它未编码。
XCN_CRYPT_STRING_BASE64REQUESTHEADER
值: 0x3
字符串使用开始和结束证书请求标头进行 base64 编码。 下面的示例说明了这一点。


syntax<br>-----BEGIN NEW CERTIFICATE REQUEST-----<br>MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu<br>czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR<br>BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA<br>A4GNADCBiQKBgQDFUxFtzr170yxptKuGI1590Sta5z2dVElLfjAn+q4T1uZE3DiH<br>HXNRHW1eS9W2aeMZhRnYRi5U8eOdG3RUO4YXy4B1sqfy5I0qjjySA89ghVd/6JcA<br>K1nhGJL9FPJ6XKVUNLez7NpSCFlYs5foyTqyxDkHzTnQwRwkkwQ9dlbnfwIDAQAB<br>oIIBUzAaBgorBgEEAYI3DQIDMQwWCjUuMC4yMTk1LjIwNQYKKwYBBAGCNwIBDjEn<br>MCUwDgYDVR0PAQH/BAQDAgTwMBMGA1UdJQQMMAoGCCsGAQUFBwMBMIH9BgorBgEE<br>AYI3DQICMYHuMIHrAgEBHloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMA<br>QwBoAGEAbgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIA<br>bwB2AGkAZABlAHIDgYkAXxNuAz6gcBaZUdef8WQ2PAroKMW8sprcKv7QD2encz6/<br>Wct9DZ5CkGynLGy0f+Lff7ViSDJqxYWaJ68ddqgXyAqIilF63kivPTiC6yxLaNX6<br>5v3cnKFx4UrUrGXZtub7M7/NuxSipOW0Vv7yCHganypxDyRzp6IhulEnL4APEH4A<br>AAAAAAAAADANBgkqhkiG9w0BAQUFAAOBgQBljJb1ZhWOwOLfzfHbC3yxGkXDy9w3<br>NA7uhQOvgntnqmSmdHP9nsM3DnxwaHb3EVxMKbAuLsSRDAE1KGqeamvQ3uFjuuL0<br>5q4nKhX25LyGFDSc6h1OHcv+0ugZ/9klsiViSeEGpMwllUf057o7q1Vls4HN22vM<br>wkcejcttDjo3Kw==<br>-----END NEW CERTIFICATE REQUEST-----<br>
XCN_CRYPT_STRING_HEX
值: 0x4
字符串是十六进制编码的。 字符串的每个 4 位小数表示为介于 0 和 9 之间的数字或 A 和 F (或 a 和 f) 之间的字母。 下面的示例说明了这一点。


syntax<br>3a 20 63 65 72 74 6c 69 62 5c 6c 64 61 70 2e 63<br>70 70 28 32 31 33 31 29 3a 20 6c 64 61 70 65 72<br>...<br>
XCN_CRYPT_STRING_HEXASCII
值: 0x5
字符串经过十六进制编码,并显示相应的 ASCII 字符。 下面的示例说明了这一点。


syntax<br>3a 20 63 65 72 74 6c 69 62 5c 6c 64 61 70 2e 63 : certlib\ldap.c<br>70 70 28 32 31 33 31 29 3a 20 6c 64 61 70 65 72 pp(2131): ldaper<br>...<br>
XCN_CRYPT_STRING_BASE64_ANY
值: 0x6
字符串采用 base64 编码。 按以下顺序尝试枚举值:


  1. XCN_CRYPT_STRING_BASE64HEADER

  2. XCN_CRYPT_STRING_BASE64

XCN_CRYPT_STRING_ANY
值: 0x7
按以下顺序尝试枚举值:


  1. XCN_CRYPT_STRING_BASE64_ANY

  2. XCN_CRYPT_STRING_BINARY


XCN_CRYPT_STRING_BINARY值始终成功。
XCN_CRYPT_STRING_HEX_ANY
值: 0x8
按以下顺序尝试枚举值:


  1. XCN_CRYPT_STRING_HEXADDR

  2. XCN_CRYPT_STRING_HEXASCIIADDR

  3. XCN_CRYPT_STRING_HEXASCII

  4. XCN_CRYPT_STRING_HEX

XCN_CRYPT_STRING_BASE64X509CRLHEADER
值: 0x9
字符串采用 base64 编码,开头和结尾为 X.509证书吊销列表 , (CRL) 标头。 下面的示例说明了这一点。


syntax<br>-----BEGIN X509 CRL-----<br>MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu<br>czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR<br>BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA<br>A4GNADCBiQKBgQDFUxFtzr170yxptKuGI1590Sta5z2dVElLfjAn+q4T1uZE3DiH<br>HXNRHW1eS9W2aeMZhRnYRi5U8eOdG3RUO4YXy4B1sqfy5I0qjjySA89ghVd/6JcA<br>K1nhGJL9FPJ6XKVUNLez7NpSCFlYs5foyTqyxDkHzTnQwRwkkwQ9dlbnfwIDAQAB<br>oIIBUzAaBgorBgEEAYI3DQIDMQwWCjUuMC4yMTk1LjIwNQYKKwYBBAGCNwIBDjEn<br>MCUwDgYDVR0PAQH/BAQDAgTwMBMGA1UdJQQMMAoGCCsGAQUFBwMBMIH9BgorBgEE<br>AYI3DQICMYHuMIHrAgEBHloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMA<br>QwBoAGEAbgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIA<br>bwB2AGkAZABlAHIDgYkAXxNuAz6gcBaZUdef8WQ2PAroKMW8sprcKv7QD2encz6/<br>Wct9DZ5CkGynLGy0f+Lff7ViSDJqxYWaJ68ddqgXyAqIilF63kivPTiC6yxLaNX6<br>5v3cnKFx4UrUrGXZtub7M7/NuxSipOW0Vv7yCHganypxDyRzp6IhulEnL4APEH4A<br>AAAAAAAAADANBgkqhkiG9w0BAQUFAAOBgQBljJb1ZhWOwOLfzfHbC3yxGkXDy9w3<br>NA7uhQOvgntnqmSmdHP9nsM3DnxwaHb3EVxMKbAuLsSRDAE1KGqeamvQ3uFjuuL0<br>5q4nKhX25LyGFDSc6h1OHcv+0ugZ/9klsiViSeEGpMwllUf057o7q1Vls4HN22vM<br>wkcejcttDjo3Kw==<br>-----END X509 CRL-----<br>
XCN_CRYPT_STRING_HEXADDR
值: 0xa
字符串经过十六进制编码并显示为十六进制地址。 下面的示例说明了这一点。


syntax<br>0000 3a 20 63 65 72 74 6c 69 62 5c 6c 64 61 70 2e 63<br>0010 70 70 28 32 31 33 31 29 3a 20 6c 64 61 70 65 72<br>...<br>
XCN_CRYPT_STRING_HEXASCIIADDR
值: 0xb
字符串经过十六进制编码,并显示为十六进制地址以及相应的 ASCII 字符。 下面的示例说明了这一点。


syntax<br>0000 3a 20 63 65 72 74 6c 69 62 5c 6c 64 61 70 2e 63 : certlib\ldap.c<br>0010 70 70 28 32 31 33 31 29 3a 20 6c 64 61 70 65 72 pp(2131): ldaper<br>...<br>
XCN_CRYPT_STRING_HEXRAW
值: 0xc
字符串经过十六进制编码,显示时不带标点符号。 XCN_CRYPT_STRING_HEXRAW 仅适用于 Windows Vista。


syntax<br>3a20636572746c69625c6c6461702e6370702832313331293a206c6461706572...<br>
XCN_CRYPT_STRING_BASE64URI
值: 0xd
XCN_CRYPT_STRING_ENCODEMASK
值: 0xff
XCN_CRYPT_STRING_CHAIN
值: 0x100
XCN_CRYPT_STRING_TEXT
值: 0x200
XCN_CRYPT_STRING_PERCENTESCAPE
值: 0x8000000
XCN_CRYPT_STRING_HASHDATA
值: 0x10000000
XCN_CRYPT_STRING_STRICT
值: 0x20000000
XCN_CRYPT_STRING_NOCRLF
值: 0x40000000
从编码的字符串中删除回车符和换行控制字符。
XCN_CRYPT_STRING_NOCR
值: 0x80000000
从编码的字符串中删除回车控制字符。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 certenroll.h

另请参阅

CertEnroll 枚举

CertEnroll 接口