Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This function converts the name in a CERT_NAME_BLOBstructure to a NULL-terminated character string. The string representation follows distinguished name specifications in RFC 1779 except for the following deviations:
- Embedded quotes are double-quoted.
- Empty strings are quoted.
- Strings containing consecutive spaces are not quoted.
- RDN values of type CERT_RDN_ENCODED_BLOB or
CERT_RDN_OCTET_STRING are formatted in hexadecimal.
Syntax
DWORD WINAPI CertNameToStr( DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPTSTR psz, DWORD csz ); |
Parameters
- dwCertEncodingType
-
[in] Specifies the encoding type used. Currently, only X509_ASN_ENCODING is used; however, additional encoding types may be added in the future.
- pName
-
[in] Pointer to the CERT_NAME_BLOBstructure to be converted.
- dwStrType
-
[in] Specifies the desired returned string type. The following table shows the possible string types for this parameter.
String type code Description CERT_SIMPLE_NAME_STR
Object identifiers (OID) are discarded. CERT_RDN entries are separated by ", ". Multiple attributes in a CERT_RDNstructure are separated by " + ". For example: Microsoft, Kim Abercrombie + Programmer.
CERT_OID_NAME_STR
OIDs are included with a "=" separator from their attribute value. CERT_RDNstructure entries are separated by ", ". Multiple attributes in a CERT_RDNstructure are separated by "+ ".
CERT_X500_NAME_STR
OIDs are converted to their X.500 key names. Otherwise, it is the same as CERT_OID_NAME_STR. If an OID does not have a corresponding X.500 name, the OID is used with an "OID." prefix.
Quotes the RDN value if it contains leading or trailing white space or one of the following characters: ",", "+", "=", """, "\n", "<", ">", "#" or ";". The quoting character is ". If the RDN Value contains a " it is double quoted ("").
CERT_NAME_STR_SEMICOLON_FLAG
This flag can be combined with a bitwise ORoperation into dwStrTypeto replace the ", " separator with a "; " separator.
CERT_NAME_STR_CRLF_FLAG
This flag can be combined with a bitwise ORoperation into dwStrTypeto replace the ", " separator with a "\r\n" separator.
CERT_NAME_STR_NO_PLUS_FLAG
This flag can be combined with a bitwise ORoperation into dwStrTypeto replace the " + " separator with a single space, " ".
CERT_NAME_STR_NO_QUOTING_FLAG
This flag can be combined with a bitwise ORoperation into dwStrTypeto inhibit the above quoting.
CERT_NAME_STR_REVERSE_FLAG
This flag can be combined with a bitwise ORoperation into dwStrTypeto specify that the order of the RDNs is to be reversed before converting to the string. This flag is to reverse the names as they occur in the RDN. To interoperate with LDAP and the RFC standards, the displayed X500 name string is reversed by specifying this flag.
CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG
This flag can be combined with a bitwise ORoperation into dwStrTypeto select the encoded value type. If this flag is set, and if all the UNICODE characters are less than or equal to 0xFF, the CERT_RDN_T61_STRING encoded value type is used instead of the CERT_RDN_UNICODE_STRING.
- psz
-
[out] Pointer to a buffer to receive the returned string.
- csz
-
[in] Size, in characters, allocated for the returned string. The size must include the terminating NULL character.
Return Value
Returns the number of characters converted, including the terminating NULL character. If pszis NULL or cszis zero, returns the required size of the destination string.
Remarks
If the pszparameter is not NULL and the c sz parameter is not zero, the returned pszparameter is always a perhaps-empty NULL-terminated string.
The desktop operating system supports the flag PKCS_7_ASN_ENCODING, but Windows Embedded CE does not and ignores the flag when it is specified.
Requirements
Header | wincrypt.h |
Library | crypt32.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |