EncodingType, énumération (certenroll.h)

L’énumération EncodingType spécifie le type d’encodage appliqué à un tableau d’octets à des fins d’affichage.

Syntax

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
} ;

Constantes

 
XCN_CRYPT_STRING_BASE64HEADER
Valeur : 0
La chaîne est encodée en base64 avec des en-têtes de certificat de début et de fin. Base64 est un schéma d’encodage utilisé pour transmettre des données binaires. Les données à encoder sont examinées trois octets à la fois. Tous les six bits de la mémoire tampon 24 bits sont utilisés comme index dans une chaîne de texte. Les chaînes utilisées varient en fonction du type de données encodées. La chaîne suivante est couramment utilisée pour l’encodage de messagerie mime (Multipurpose Internet Mail Extensions) en base64.


syntax<br>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/<br>

L’exemple suivant montre un certificat encodé en base64 et qui inclut les en-têtes de début et de fin.


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
Valeur : 0x1
La chaîne est encodée en base64 sans en-têtes de certificat de début et de fin.
XCN_CRYPT_STRING_BINARY
Valeur : 0x2
La chaîne est une séquence binaire pure. Il n’est pas encodé.
XCN_CRYPT_STRING_BASE64REQUESTHEADER
Valeur : 0x3
La chaîne est encodée en base64 avec des en-têtes de demande de certificat de début et de fin. Cela est illustré par l'exemple suivant.


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
Valeur : 0x4
La chaîne est encodée hexadécimale. Chaque nibble 4 bits de la chaîne est représenté sous la forme d’un nombre compris entre zéro et neuf ou d’une lettre comprise entre A et F (ou a et f). Cela est illustré par l'exemple suivant.


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
Valeur : 0x5
La chaîne est encodée hexadécimale et les caractères ASCII correspondants sont affichés. Cela est illustré par l'exemple suivant.


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
Valeur : 0x6
La chaîne est encodée en base64. Les valeurs d’énumération sont essayées dans l’ordre suivant :


  1. XCN_CRYPT_STRING_BASE64HEADER

  2. XCN_CRYPT_STRING_BASE64

XCN_CRYPT_STRING_ANY
Valeur : 0x7
Les valeurs d’énumération sont essayées dans l’ordre suivant :


  1. XCN_CRYPT_STRING_BASE64_ANY

  2. XCN_CRYPT_STRING_BINARY


La valeur XCN_CRYPT_STRING_BINARY réussit toujours.
XCN_CRYPT_STRING_HEX_ANY
Valeur : 0x8
Les valeurs d’énumération sont essayées dans l’ordre suivant :


  1. XCN_CRYPT_STRING_HEXADDR

  2. XCN_CRYPT_STRING_HEXASCIIADDR

  3. XCN_CRYPT_STRING_HEXASCII

  4. XCN_CRYPT_STRING_HEX

XCN_CRYPT_STRING_BASE64X509CRLHEADER
Valeur : 0x9
La chaîne est encodée en base64 avec des en-têtes de liste de révocation de certificats (CRL) X.509 de début et de fin. Cela est illustré par l'exemple suivant.


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
Valeur : 0xa
La chaîne est encodée hexadécimale et affichée sous la forme d’une adresse hexadécimale. Cela est illustré par l'exemple suivant.


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
Valeur : 0xb
La chaîne est encodée hexadécimale et affichée en tant qu’adresse hexadécimale avec les caractères ASCII correspondants. Cela est illustré par l'exemple suivant.


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
Valeur : 0xc
La chaîne est encodée hexadécimale et affichée sans ponctuation. XCN_CRYPT_STRING_HEXRAW est disponible uniquement avec Windows Vista.


syntax<br>3a20636572746c69625c6c6461702e6370702832313331293a206c6461706572...<br>
XCN_CRYPT_STRING_BASE64URI
Valeur : 0xd
XCN_CRYPT_STRING_ENCODEMASK
Valeur : 0xff
XCN_CRYPT_STRING_CHAIN
Valeur : 0x100
XCN_CRYPT_STRING_TEXT
Valeur : 0x200
XCN_CRYPT_STRING_PERCENTESCAPE
Valeur : 0x8000000
XCN_CRYPT_STRING_HASHDATA
Valeur : 0x10000000
XCN_CRYPT_STRING_STRICT
Valeur : 0x20000000
XCN_CRYPT_STRING_NOCRLF
Valeur : 0x40000000
Supprime les caractères de contrôle retour chariot et saut de ligne de la chaîne encodée.
XCN_CRYPT_STRING_NOCR
Valeur : 0x80000000
Supprime le caractère de contrôle de retour chariot de la chaîne encodée.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête certenroll.h

Voir aussi

Énumérations CertEnroll

CertEnroll Interfaces