CREDENTIALA 구조체(wincred.h)
CREDENTIAL 구조에는 개별 자격 증명이 포함됩니다.
통사론
typedef struct _CREDENTIALA {
DWORD Flags;
DWORD Type;
LPSTR TargetName;
LPSTR Comment;
FILETIME LastWritten;
DWORD CredentialBlobSize;
LPBYTE CredentialBlob;
DWORD Persist;
DWORD AttributeCount;
PCREDENTIAL_ATTRIBUTEA Attributes;
LPSTR TargetAlias;
LPSTR UserName;
} CREDENTIALA, *PCREDENTIALA;
회원
Flags
자격 증명의 특성을 식별하는 비트 멤버입니다. 정의되지 않은 비트는 0으로 초기화해야 하며, 향후 향상된 기능을 허용하도록 변경되지 않아야 합니다.
값 | 의미 |
---|---|
|
자격 증명이 CredentialBlob 유지하지 않고 이 로그온 세션 중에 자격 증명이 기록되지 않은 경우 비트 집합입니다. 이 비트는 입력 시 무시되며 쿼리할 때 자동으로 설정됩니다.
형식CRED_TYPE_DOMAIN_CERTIFICATE경우 인증서의 PIN이 매우 중요한 정보이므로 CredentialBlob 로그온 세션 간에 유지되지 않습니다. 실제로 자격 증명이 자격 증명 관리자에게 기록되면 PIN이 인증서와 연결된 CSP에 전달됩니다. CSP는 인증서에 적합한 PIN 보존 정책을 적용합니다. 형식CRED_TYPE_DOMAIN_PASSWORD 또는 CRED_TYPE_DOMAIN_CERTIFICATE경우 인증 패키지는 CRED_FLAGS_PROMPT_NOW표시된 자격 증명을 사용할 때 항상 인증 시도에 실패합니다. 애플리케이션(일반적으로 키 링 UI를 통해)은 사용자에게 암호를 묻는 메시지를 표시합니다. 애플리케이션은 자격 증명을 저장하고 인증을 다시 시도합니다. 자격 증명이 최근에 작성되었으므로 인증 패키지는 이제 CRED_FLAGS_PROMPT_NOW 표시되지 않은 자격 증명을 가져옵니다. |
|
이 자격 증명에 TargetName 멤버가 UserName 멤버와 동일한 값으로 설정된 경우 비트가 설정됩니다. 이러한 자격 증명은 특정 사용자에 대한 CredentialBlob 저장하도록 설계된 자격 증명입니다. 자세한 내용은 CredMarshalCredential 함수를 참조하세요.
이 비트는 형식CRED_TYPE_DOMAIN_PASSWORD 또는 CRED_TYPE_DOMAIN_CERTIFICATE경우에만 지정할 수 있습니다. |
Type
자격 증명의 형식입니다. 자격 증명을 만든 후에는 이 멤버를 변경할 수 없습니다. 다음 값은 유효합니다.
TargetName
자격 증명의 이름입니다. TargetName 및 형식 멤버는 자격 증명을 고유하게 식별합니다. 자격 증명을 만든 후에는 이 멤버를 변경할 수 없습니다. 대신 이전 이름의 자격 증명을 삭제하고 새 이름을 만든 자격 증명을 삭제해야 합니다.
형식CRED_TYPE_DOMAIN_PASSWORD 또는 CRED_TYPE_DOMAIN_CERTIFICATE경우 이 멤버는 자격 증명을 사용할 서버 또는 서버를 식별합니다. 멤버는 NetBIOS 또는 DNS 서버 이름, 와일드카드 문자를 포함하는 DNS 호스트 이름 접미사, 와일드카드 문자 시퀀스가 포함된 NetBIOS 또는 DNS 도메인 이름 또는 별표입니다.
TargetName DNS 호스트 이름인 경우 TargetAlias 멤버는 호스트의 NetBIOS 이름이 될 수 있습니다.
TargetName 와일드카드 문자를 포함하는 DNS 호스트 이름 접미사인 경우 DNS 호스트 이름의 맨 왼쪽 레이블은 별표(*)이며, 이는 대상 이름이 지정된 이름(예: *.microsoft.com)으로 끝나는 모든 서버임을 표시합니다.
TargetName 와일드카드 문자 시퀀스가 포함된 도메인 이름인 경우 구문은 도메인 이름 뒤에 백슬래시 및 별표(*)가 되며, 이는 대상 이름이 명명된 도메인(또는 영역)의 멤버인 모든 서버임을 나타냅니다.
TargetName 와일드카드 문자 시퀀스가 포함된 DNS 도메인 이름인 경우 TargetAlias 멤버는 동일한 도메인에 와일드카드 시퀀스를 사용하는 NetBIOS 도메인 이름이 될 수 있습니다.
TargetName 단일 별표(*)인 경우 이 자격 증명은 모든 서버 이름과 일치합니다.
TargetName CRED_SESSION_WILDCARD_NAME 경우 이 자격 증명은 서버 이름과 일치합니다. 이 자격 증명은 단일 별표 앞에 일치하며 지속CRED_PERSIST_SESSION경우에만 유효합니다. 자격 증명은 기본 자격 증명을 일시적으로 재정의하려는 애플리케이션에서 설정할 수 있습니다.
이 멤버는 CRED_MAX_DOMAIN_TARGET_NAME_LENGTH(337) 문자보다 길 수 없습니다.
형식 CRED_TYPE_GENERIC 경우 이 멤버는 실제 대상 외에도 자격 증명을 사용하는 서비스를 식별해야 합니다. Microsoft는 서비스를 구현하는 회사의 이름 앞에 이름을 접두사로 지정하는 것이 좋습니다. Microsoft는 "Microsoft" 접두사를 사용합니다. Microsoft에서 작성한 서비스는 해당 서비스 이름(예: Microsoft_RAS_TargetName)을 추가해야 합니다. 이 멤버는 CRED_MAX_GENERIC_TARGET_NAME_LENGTH(32767) 문자보다 길 수 없습니다.
이 멤버는 대/소문자를 구분하지 않습니다.
Comment
이 자격 증명을 설명하는 사용자의 문자열 주석입니다. 이 멤버는 CRED_MAX_STRING_LENGTH(256자)보다 길 수 없습니다.
LastWritten
자격 증명의 마지막 수정 시간(그리니치 표준시)의 협정 세계시입니다. 쓰기 작업의 경우 이 멤버의 값은 무시됩니다.
CredentialBlobSize
CredentialBlob 멤버의 크기(바이트)입니다. 이 멤버는 CRED_MAX_CREDENTIAL_BLOB_SIZE(5*512) 바이트보다 클 수 없습니다.
CredentialBlob
자격 증명에 대한 비밀 데이터입니다. CredentialBlob 멤버는 읽고 쓸 수 있습니다.
Type 멤버가 CRED_TYPE_DOMAIN_PASSWORD경우 이 멤버에는 UserName대한 일반 텍스트 유니코드 암호가 포함됩니다. CredentialBlob 및 CredentialBlobSize 멤버에는 후행 0 문자가 포함되지 않습니다. 또한 CRED_TYPE_DOMAIN_PASSWORD경우 인증 패키지에서만 이 멤버를 읽을 수 있습니다.
Type 멤버가 CRED_TYPE_DOMAIN_CERTIFICATE경우 이 멤버는 UserName대한 명확한 테스트 유니코드 PIN을 포함합니다. CredentialBlob 및 CredentialBlobSize 멤버에는 후행 0 문자가 포함되지 않습니다. 또한 이 멤버는 인증 패키지에서만 읽을 수 있습니다.
Type 멤버가 CRED_TYPE_GENERIC경우 이 멤버는 애플리케이션에서 정의됩니다.
자격 증명은 이식 가능해야 합니다. 애플리케이션은 CredentialBlob 데이터가 이식 가능한지 확인해야 합니다. 애플리케이션은 CredentialBlob데이터의 바이트 엔드리안 및 맞춤을 정의합니다.
Persist
이 자격 증명의 지속성을 정의합니다. 이 멤버는 읽고 쓸 수 있습니다.
AttributeCount
자격 증명과 연결할 애플리케이션 정의 특성의 수입니다. 이 멤버는 읽고 쓸 수 있습니다. 해당 값은 CRED_MAX_ATTRIBUTES(64)보다 클 수 없습니다.
Attributes
자격 증명과 연결된 애플리케이션 정의 특성입니다. 이 멤버는 읽고 쓸 수 있습니다.
TargetAlias
TargetName 멤버의 별칭입니다. 이 멤버는 읽고 쓸 수 있습니다. CRED_MAX_STRING_LENGTH(256자)보다 길 수 없습니다.
자격 증명
UserName
TargetName연결하는 데 사용되는 계정의 사용자 이름입니다.
자격 증명 형식CRED_TYPE_DOMAIN_PASSWORD경우 이 멤버는 DomainNameUserName 또는 UPN일 수 있습니다.
자격 증명 형식CRED_TYPE_DOMAIN_CERTIFICATE경우 이 멤버는 CertCredential을 사용하여 CredMarshalCredential 호출하여 만든 마샬링된 인증서 참조여야 합니다.
자격 증명
이 멤버는 CRED_MAX_USERNAME_LENGTH(513) 문자보다 길 수 없습니다.
발언
메모
wincred.h 헤더는 CREDENTIAL을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
헤더 | wincred.h |