CertSaveStore 함수(wincrypt.h)

CertSaveStore 함수는 인증서 저장소를 파일 또는 메모리 BLOB에 저장합니다.

구문

BOOL CertSaveStore(
  [in]      HCERTSTORE hCertStore,
  [in]      DWORD      dwEncodingType,
  [in]      DWORD      dwSaveAs,
  [in]      DWORD      dwSaveTo,
  [in, out] void       *pvSaveToPara,
  [in]      DWORD      dwFlags
);

매개 변수

[in] hCertStore

저장할 인증서 저장소의 핸들입니다.

[in] dwEncodingType

인증서 인코딩 유형메시지 인코딩 유형을 지정합니다. 인코딩은 dwSaveAsCERT_STORE_SAVE_AS_PKCS7 포함된 경우에만 사용됩니다. 그렇지 않으면 dwMsgAndCertEncodingType 매개 변수가 사용되지 않습니다.

이 매개 변수는 다음 값 중 하나 이상의 조합일 수 있습니다.

의미
PKCS_7_ASN_ENCODING
65536 (0x10000)
PKCS 7 메시지 인코딩을 지정합니다.
X509_ASN_ENCODING
1(0x1)
X.509 인증서 인코딩을 지정합니다.

[in] dwSaveAs

인증서 저장소를 저장하는 방법을 지정합니다.

이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
CERT_STORE_SAVE_AS_PKCS7
2
인증서 저장소는 추가 속성을 포함하지 않는 PKCS #7 서명된 메시지로 저장할 수 있습니다. dwEncodingType 매개 변수는 메시지 인코딩 형식을 지정합니다.
CERT_STORE_SAVE_AS_STORE
1
인증서 저장소는 인코딩된 인증서, CRL( 인증서 해지 목록 ) 및 CTL( 인증서 신뢰 목록 ) 외에도 속성을 포함하는 직렬화된 저장소로 저장할 수 있습니다. dwEncodingType 매개 변수는 무시됩니다.
참고CERT_KEY_CONTEXT_PROP_ID 속성 및 관련 CERT_KEY_PROV_HANDLE_PROP_IDCERT_KEY_SPEC_PROP_ID 값은 직렬화된 저장소에 저장되지 않습니다.
 

[in] dwSaveTo

인증서 저장소를 저장할 위치와 방법을 지정합니다. 이 매개 변수의 내용은 pvSaveToPara 매개 변수의 형식을 결정합니다.

이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
CERT_STORE_SAVE_TO_FILE
1
함수는 인증서 저장소를 파일에 저장합니다. pvSaveToPara 매개 변수에는 CreateFile 함수를 사용하여 이전에 가져온 파일에 대한 핸들이 포함되어 있습니다. 파일은 쓰기 권한으로 열어야 합니다. 저장 작업이 성공하면 파일 포인터가 마지막 쓰기 작업 다음에 배치됩니다.
CERT_STORE_SAVE_TO_FILENAME
4
함수는 인증서 저장소를 파일에 저장합니다. pvSaveToPara 매개 변수는 저장할 파일의 경로와 파일 이름을 포함하는 null로 끝나는 유니코드 문자열에 대한 포인터를 포함합니다. 함수는 파일을 열고 저장한 다음 닫습니다.
CERT_STORE_SAVE_TO_FILENAME_A
3
함수는 인증서 저장소를 파일에 저장합니다. pvSaveToPara 매개 변수는 저장할 파일의 경로와 파일 이름을 포함하는 null로 끝나는 ANSI 문자열에 대한 포인터를 포함합니다. 함수는 파일을 열고 저장한 다음 닫습니다.
CERT_STORE_SAVE_TO_FILENAME_W
4
함수는 인증서 저장소를 파일에 저장합니다. pvSaveToPara 매개 변수는 저장할 파일의 경로와 파일 이름을 포함하는 null로 끝나는 유니코드 문자열에 대한 포인터를 포함합니다. 함수는 파일을 열고 저장한 다음 닫습니다.
CERT_STORE_SAVE_TO_MEMORY
2
함수는 인증서 저장소를 메모리 BLOB에 저장합니다. pvSaveToPara 매개 변수는 CERT_BLOB 구조체에 대한 포인터를 포함합니다. 사용하기 전에 CERT_BLOBpbDatacbData 멤버를 초기화해야 합니다. 반환 시 cbData 는 실제 길이로 업데이트됩니다. 길이 전용 계산의 경우 pbDataNULL로 설정해야 합니다. pbDataNULL이 아니고 cbData가 충분히 크지 않으면 함수는 마지막 오류 코드가 ERROR_MORE_DATA 0을 반환합니다.

[in, out] pvSaveToPara

저장소를 저장할 위치를 나타내는 포인터입니다. 이 매개 변수의 내용은 dwSaveTo 매개 변수의 값에 따라 달라집니다.

[in] dwFlags

이 매개 변수는 나중에 사용할 수 있도록 예약되어 있으며 0으로 설정해야 합니다.

반환 값

함수가 성공하면 함수는 0이 아닌 값을 반환합니다.

함수가 실패하면 0을 반환합니다. 확장 오류 정보는 GetLastError를 호출합니다.

CreateFile 또는 WriteFile 오류는 이 함수로 전파될 수 있습니다. 한 가지 가능한 오류 코드는 파일에 쓰는 동안 오류가 발생했음을 나타내는 CRYPT_E_FILE_ERROR .

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

CertCloseStore

CertOpenStore

인증서 저장소 함수

CreateFile

WriteFile