다음을 통해 공유


CERT_RDN_ATTR 구조체(wincrypt.h)

CERT_RDN_ATTR 구조체에는 RDN(상대 고유 이름)의 단일 특성이 포함됩니다. 전체 RDN은 CERT_RDN_ATTR 구조의 배열을 포함하는 CERT_RDN 구조체로 표현됩니다.

구문

typedef struct _CERT_RDN_ATTR {
  LPSTR               pszObjId;
  DWORD               dwValueType;
  CERT_RDN_VALUE_BLOB Value;
} CERT_RDN_ATTR, *PCERT_RDN_ATTR;

멤버

pszObjId

이 구조에 정의된 특성 형식에 대한 OID(개체 식별자)입니다. 이 멤버는 다음 OID 중 하나일 수 있습니다.

의미
szOID_AUTHORITY_REVOCATION_LIST
보안 특성.
szOID_BUSINESS_CATEGORY
대/소문자를 구분하지 않는 문자열입니다. 설명 특성입니다.
szOID_CA_CERTIFICATE
보안 특성.
szOID_CERTIFICATE_REVOCATION_LIST
보안 특성.
szOID_COMMON_NAME
대/소문자를 구분하지 않는 문자열입니다. 레이블 지정 특성.
szOID_COUNTRY_NAME
두 문자로 인쇄 가능한 문자열입니다. 지리적 특성입니다.
szOID_CROSS_CERTIFICATE_PAIR
보안 특성.
szOID_DESCRIPTION
대/소문자를 구분하지 않는 문자열입니다. 설명 특성입니다.
szOID_DESTINATION_INDICATOR
인쇄 가능한 문자열입니다. 통신 주소 지정 특성입니다.
szOID_DEVICE_SERIAL_NUMBER
인쇄 가능한 문자열입니다. 레이블 지정 특성.
szOID_DOMAIN_COMPONENT
IA5 문자열입니다. DNS 이름 구성 요소(예: "com")
szOID_FACSIMILE_TELEPHONE_NUMBER
통신 주소 지정 특성입니다.
szOID_GIVEN_NAME
대/소문자를 구분하지 않는 문자열입니다. 이름 특성입니다.
szOID_INITIALS
대/소문자를 구분하지 않는 문자열입니다. 이름 특성입니다.
szOID_INTERNATIONAL_ISDN_NUMBER
숫자 문자열입니다. 통신 주소 지정 특성입니다.
szOID_LOCALITY_NAME
대/소문자를 구분하지 않는 문자열입니다. 지리적 특성입니다.
szOID_MEMBER
관계형 애플리케이션 특성입니다.
szOID_ORGANIZATION_NAME
대/소문자를 구분하지 않는 문자열입니다. 조직 특성.
szOID_ORGANIZATIONAL_UNIT_NAME
대/소문자를 구분하지 않는 문자열입니다. 조직 특성.
szOID_OWNER
관계형 애플리케이션 특성입니다.
szOID_PHYSICAL_DELIVERY_OFFICE_NAME
대/소문자를 구분하지 않는 문자열입니다. 우편 주소 지정 특성입니다.
szOID_PKCS_12_FRIENDLY_NAME_ATTR
PKCS #12 특성입니다.
szOID_PKCS_12_LOCAL_KEY_ID
PKCS #12 특성입니다.
szOID_POST_OFFICE_BOX
대/소문자를 구분하지 않는 문자열입니다. 우편 주소 지정 특성입니다.
szOID_POSTAL_ADDRESS
인쇄 가능한 문자열입니다. 우편 주소 지정 특성입니다.
szOID_POSTAL_CODE
대/소문자를 구분하지 않는 문자열입니다. 우편 주소 지정 특성입니다.
szOID_PREFERRED_DELIVERY_METHOD
기본 설정 특성입니다.
szOID_PRESENTATION_ADDRESS
OSI 애플리케이션 특성.
szOID_REGISTERED_ADDRESS
통신 주소 지정 특성입니다.
szOID_ROLE_OCCUPANT
관계형 애플리케이션 특성입니다.
szOID_RSA_emailAddr
IA5 문자열입니다. Email 특성입니다.
szOID_SEARCH_GUIDE
설명 특성입니다.
szOID_SEE_ALSO
관계형 애플리케이션 특성입니다.
szOID_STATE_OR_PROVINCE_NAME
대/소문자를 구분하지 않는 문자열입니다. 지리적 특성입니다.
szOID_STREET_ADDRESS
대/소문자를 구분하지 않는 문자열입니다. 지리적 특성입니다.
szOID_SUPPORTED_APPLICATION_CONTEXT
OSI 애플리케이션 특성.
szOID_SUR_NAME
대/소문자를 구분하지 않는 문자열입니다. 레이블 지정 특성입니다.
szOID_TELEPHONE_NUMBER
통신 주소 지정 특성입니다.
szOID_TELETEXT_TERMINAL_IDENTIFIER
통신 주소 지정 특성입니다.
szOID_TELEX_NUMBER
통신 주소 지정 특성입니다.
szOID_TITLE
대/소문자를 구분하지 않는 문자열입니다. 조직 특성.
szOID_USER_CERTIFICATE
보안 특성.
szOID_USER_PASSWORD
보안 특성.
szOID_X21_ADDRESS
숫자 문자열입니다. 통신 주소 지정 특성입니다.

dwValueType

Value 멤버의 해석을 나타냅니다.

이 멤버는 다음 값 중 하나일 수 있습니다.

의미
CERT_RDN_ANY_TYPE
pszObjId 멤버는 가정된 형식과 길이를 결정합니다.
CERT_RDN_BMP_STRING
유니코드 문자 배열(16비트)입니다.
CERT_RDN_ENCODED_BLOB
인코딩된 데이터 BLOB입니다.
CERT_RDN_GENERAL_STRING
현재 사용되지 않습니다.
CERT_RDN_GRAPHIC_STRING
현재 사용되지 않습니다.
CERT_RDN_IA5_STRING
임의의 IA5(ASCII) 문자 문자열입니다.
CERT_RDN_INT4_STRING
INT4 요소(32비트)의 배열입니다.
CERT_RDN_ISO646_STRING
128자 집합(8비트)입니다.
CERT_RDN_NUMERIC_STRING
문자 0~9 및 공백 문자(8비트)만
CERT_RDN_OCTET_STRING
임의의 옥텟 문자열(8비트)입니다.
CERT_RDN_PRINTABLE_STRING
임의의 인쇄 가능 문자 문자열(8비트)입니다.
CERT_RDN_T61_STRING
임의의 T.61자 문자열(8비트)입니다.
CERT_RDN_TELETEX_STRING
임의의 T.61자 문자열(8비트)
CERT_RDN_UNICODE_STRING
유니코드 문자 배열(16비트)입니다.
CERT_RDN_UNIVERSAL_STRING
INT4 요소(32비트)의 배열입니다.
CERT_RDN_UTF8_STRING
1, 2 또는 3, 8비트 문자의 시퀀스로 와이어에 인코딩된 16비트 유니코드 문자 UTF8의 배열입니다.
CERT_RDN_VIDEOTEX_STRING
비디오 텍스트 문자의 임의 문자열입니다.
CERT_RDN_VISIBLE_STRING
95자 집합(8비트)입니다.
 

dwValueType 멤버에 비트 OR 연산을 사용하여 다음 플래그를 결합할 수 있습니다.

의미
CERT_RDN_DISABLE_CHECK_TYPE_FLAG
인코딩의 경우. 설정하면 문자가 값 형식에 유효한지 여부를 확인하기 위해 선택되지 않습니다.
CERT_RDN_DISABLE_IE4_UTF8_FLAG
디코딩의 경우. 기본적으로 CERT_RDN_T61_STRING 인코딩된 값은 처음에 UTF8로 디코딩됩니다. UTF8 디코딩이 실패하면 값은 8비트 문자로 디코딩됩니다. 이 플래그가 설정되면 UTF8로 디코딩하려는 초기 시도를 건너뛰고 값을 8비트 문자로 디코딩합니다.
CERT_RDN_ENABLE_T61_UNICODE_FLAG
인코딩의 경우. 설정하면 모든 유니코드 문자가 <= 0xFF 경우 CERT_RDN_UNICODE_STRING 값 대신 CERT_RDN_T61_STRING 값이 선택됩니다.
CERT_RDN_ENABLE_UTF8_UNICODE_FLAG
인코딩의 경우. 설정되면 문자열은 CERT_RDN_UNICODE_STRING 값 대신 CERT_RDN_UTF8_STRING값으로 인코딩됩니다.
CERT_RDN_FORCE_UTF8_UNICODE_FLAG
인코딩의 경우. 설정하면 문자열은 DirectoryString 형식에 대한 CERT_RDN_PRINTABLE_STRING 값 대신 CERT_RDN_UTF8_STRING 값으로 인코딩됩니다. 또한 CERT_RDN_ENABLE_UTF8_UNICODE_FLAG 사용하도록 설정됩니다.

Windows Vista, Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

CERT_RDN_ENABLE_PUNYCODE_FLAG
인코딩의 경우. 문자열에 이메일 RDN이 포함되어 있고 전자 메일 주소가 Punycode로 인코딩된 경우 결과 전자 메일 주소는 IA5String으로 인코딩됩니다. 호스트 이름의 Punycode 인코딩은 레이블별로 수행됩니다.

디코딩의 경우. 이름에 이메일 RDN이 포함되어 있고 전자 메일 주소의 로컬 부분 또는 호스트 이름 부분에 Punycode로 인코딩된 IA5String이 포함된 경우 RDN 문자열 값은 해당하는 유니코드 값으로 변환됩니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

Value

특성 값을 포함하는 CERT_RDN_VALUE_BLOB . ValuecbData 멤버는 pbData 멤버의 길이(바이트)입니다. pbData 문자열의 요소 수가 아닙니다.

예를 들어 DWORD 는 32비트 또는 4바이트 길이입니다. pbDataDWORD 배열인 경우 cbData는 배열의 DWORD 요소 수의 4배가 됩니다. SHORT는 16비트 또는 2바이트 길이입니다. pbDataSHORT 요소의 배열인 경우 cbData는 배열 길이의 2배여야 합니다.

ValuepbData 멤버는 null로 끝나는 8비트 또는 16비트 문자 배열 또는 고정 길이 요소 배열일 수 있습니다. dwValueType이 CERT_RDN_ENCODED_BLOB 설정되면 pbData가 인코딩됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 wincrypt.h

추가 정보

CERT_RDN

CRYPT_INTEGER_BLOB

CertIsRDNAttrsInCertificateName