암호화 함수
암호화 함수는 다음과 같이 사용량에 따라 분류됩니다.
- CryptXML 함수
- 서명자 함수
- 기본 암호화 함수
- 인증서 및 인증서 저장소 함수
- MakeCert 함수
- 인증서 확인 함수
- 메시지 함수
- 보조 함수
- Certificate Services 백업 및 복원 함수
- 콜백 함수
- 카탈로그 정의 함수
- 카탈로그 함수
- WinTrust 함수
- 개체 로케이터 함수
CryptXML 함수
암호화 XML 함수는 XML 형식의 데이터를 사용하여 디지털 서명을 만들고 표현하기 위한 API를 제공합니다. XML 형식 서명에 대한 자세한 내용은 의 XML-Signature 구문 및 처리 사양을 https://go.microsoft.com/fwlink/p/?linkid=139649참조하세요.
기능 | 설명 |
---|---|
A_SHAFinal | MD5Update 함수에서 입력한 데이터의 최종 해시를 계산합니다. |
A_SHAInit | 데이터 스트림의 해시를 시작합니다. |
A_SHAUpdate | 지정된 해시 개체에 데이터를 추가합니다. |
CryptXmlCreateReference | XML 서명에 대한 참조를 만듭니다. |
CryptXmlAddObject | 인코딩을 위해 열린 문서 컨텍스트의 Signature에 Object 요소를 추가합니다. |
CryptXmlClose | 암호화 XML 개체 핸들을 닫습니다. |
CryptXmlDigestReference | 애플리케이션에서 확인된 참조를 다이제스트하는 데 사용됩니다. 이 함수는 다이제스트를 업데이트하기 전에 변환을 적용합니다. |
CryptXmlDllCloseDigest | CryptXmlDllCreateDigest 함수에서 할당한 CRYPT_XML_DIGEST 해제합니다. |
CryptXmlDllCreateDigest | 지정된 메서드에 대한 다이제스트 개체를 만듭니다. |
CryptXmlDllCreateKey | KeyValue 요소를 구문 분석하고 암호화 API: CNG(Next Generation) BCrypt 키 핸들을 만들어 서명을 확인합니다. |
CryptXmlDllDigestData | 다이제스트에 데이터를 넣습니다. |
CryptXmlDllEncodeAlgorithm | Agile 알고리즘에 대한 SignatureMethod 또는 DigestMethod 요소를 기본 매개 변수로 인코딩합니다. |
CryptXmlDllEncodeKeyValue | KeyValue 요소를 인코딩합니다. |
CryptXmlDllFinalizeDigest | 다이제스트 값을 검색합니다. |
CryptXmlDllGetAlgorithmInfo | XML 알고리즘을 디코딩하고 알고리즘에 대한 정보를 반환합니다. |
CryptXmlDllGetInterface | 지정된 알고리즘에 대한 암호화 확장 함수에 대한 포인터를 검색합니다. |
CryptXmlDllSignData | 데이터에 서명합니다. |
CryptXmlDllVerifySignature | 서명을 확인합니다. |
CryptXmlEncode | 제공된 XML 기록기 콜백 함수를 사용하여 서명 데이터를 인코딩합니다. |
CryptXmlGetAlgorithmInfo | CRYPT_XML_ALGORITHM 구조를 디코딩하고 알고리즘에 대한 정보를 반환합니다. |
CryptXmlGetDocContext | 제공된 핸들에서 지정한 문서 컨텍스트를 반환합니다. |
CryptXmlGetReference | 제공된 핸들에서 지정한 Reference 요소를 반환합니다. |
CryptXmlGetSignature | XML Signature 요소를 반환합니다. |
CryptXmlGetStatus | 제공된 핸들에서 지정한 개체에 대한 상태 정보를 포함하는 CRYPT_XML_STATUS 구조를 반환합니다. |
CryptXmlGetTransforms | 기본 변환 체인 엔진에 대한 정보를 반환합니다. |
CryptXmlImportPublicKey | 제공된 핸들에서 지정한 공개 키를 가져옵니다. |
CryptXmlOpenToEncode | XML 디지털 서명을 열어 인코딩하고 열린 Signature 요소의 핸들을 반환합니다. 핸들은 단일 CRYPT_XML_SIGNATURE 구조로 문서 컨텍스트를 캡슐화하고 CryptXmlClose 함수가 호출될 때까지 열린 상태로 유지됩니다. |
CryptXmlOpenToDecode | XML 디지털 서명을 열어 디코딩하고 CRYPT_XML_SIGNATURE 구조를 캡슐화하는 문서 컨텍스트의 핸들을 반환합니다. 문서 컨텍스트에는 하나 이상의 서명 요소가 포함될 수 있습니다. |
CryptXmlSetHMACSecret | CryptXmlSign 또는 CryptXmlVerify 함수를 호출하기 전에 핸들에서 HMAC 비밀을 설정합니다. |
CryptXmlSign | SignedInfo 요소의 암호화 서명을 만듭니다. |
CryptXmlVerifySignature | SignedInfo 요소의 암호화 서명 유효성 검사를 수행합니다. |
PFN_CRYPT_XML_WRITE_CALLBACK | 지정된 데이터 공급자에 대한 변환을 만듭니다. |
PFN_CRYPT_XML_CREATE_TRANSFORM | 암호화 XML 데이터를 씁니다. |
PFN_CRYPT_XML_DATA_PROVIDER_READ | 암호화 XML 데이터를 읽습니다. |
PFN_CRYPT_XML_DATA_PROVIDER_CLOSE | 암호화 XML 데이터 공급자를 해제합니다. |
PFN_CRYPT_XML_ENUM_ALG_INFO | 미리 정의되고 등록된 CRYPT_XML_ALGORITHM_INFO 항목을 열거합니다. |
서명자 함수
서명 및 타임스탬프를 위한 함수를 제공합니다.
기능 | 설명 |
---|---|
SignerFreeSignerContext | SignerSignEx 함수에 대한 이전 호출에 의해 할당된 SIGNER_CONTEXT 구조를 해제합니다. |
SignError | GetLastError 함수를 호출하고 반환 코드를 HRESULT로 변환합니다. |
SignerSign | 지정된 파일에 서명합니다. |
SignerSignEx | 지정된 파일에 서명하고 서명된 데이터에 대한 포인터를 반환합니다. |
SignerSignEx2 | 지정된 파일에 서명 및 타임스탬프를 지정하여 여러 개의 중첩된 서명을 허용합니다. |
SignerTimeStamp | 지정된 제목에 타임스탬프를 지정합니다. 이 함수는 Authenticode 타임스탬프를 지원합니다. X.509 RFC 3161(공개 키 인프라) 타임스탬프를 수행하려면 SignerTimeStampEx2 함수를 사용합니다. |
SignerTimeStampEx | 타임스탬프는 지정된 제목을 스탬프하고 필요에 따라 BLOB에 대한 포인터를 포함하는 SIGNER_CONTEXT 구조체에 대한 포인터를 반환합니다. 이 함수는 Authenticode 타임스탬프를 지원합니다. X.509 RFC 3161(공개 키 인프라) 타임스탬프를 수행하려면 SignerTimeStampEx2 함수를 사용합니다. |
SignerTimeStampEx2 | 타임스탬프는 지정된 제목을 스탬프하고 필요에 따라 BLOB에 대한 포인터를 포함하는 SIGNER_CONTEXT 구조체에 대한 포인터를 반환합니다. 이 함수는 X.509 공개 키 인프라, RFC 3161 규격 타임스탬프를 수행하는 데 사용할 수 있습니다. |
SignerTimeStampEx3 | 타임스탬프는 지정된 제목을 지정하고 여러 서명에 타임스탬프를 설정할 수 있습니다. |
기본 암호화 함수
기본 암호화 함수는 암호화 애플리케이션을 개발하는 가장 유연한 수단을 제공합니다. CSP( 암호화 서비스 공급자 )와의 모든 통신은 이러한 함수를 통해 발생합니다.
CSP는 모든 암호화 작업을 수행하는 독립적인 모듈입니다. 암호화 함수를 사용하는 각 애플리케이션에 하나 이상의 CSP가 필요합니다. 단일 애플리케이션은 때때로 둘 이상의 CSP를 사용할 수 있습니다.
둘 이상의 CSP를 사용하는 경우 사용할 CSP를 CryptoAPI 암호화 함수 호출에 지정할 수 있습니다. Microsoft 기본 암호화 공급자인 하나의 CSP는 CryptoAPI와 함께 번들로 제공됩니다. 이 CSP는 다른 CSP가 지정되지 않은 경우 많은 CryptoAPI 함수에서 기본 공급자로 사용됩니다.
각 CSP는 CryptoAPI에 제공되는 암호화 지원의 다른 구현을 제공합니다. 일부는 더 강력한 암호화 알고리즘을 제공합니다. 다른 항목에는 스마트 카드와 같은 하드웨어 구성 요소가 포함되어 있습니다. 또한 일부 CSP는 사용자의 서명 프라이빗 키를 사용하여 디지털 서명을 수행하는 경우와 같이 사용자와 직접 통신할 수 있습니다.
기본 암호화 함수는 다음과 같은 광범위한 그룹에 있습니다.
- 서비스 공급자 함수
- 키 생성 및 Exchange 함수
- 개체 인코딩 및 디코딩 함수
- 데이터 암호화 및 암호 해독 함수
- 해시 및 디지털 서명 함수
서비스 공급자 함수
애플리케이션은 다음 서비스 함수를 사용하여 CSP( 암호화 서비스 공급자 )를 연결하고 연결을 끊습니다.
기능 | 설명 |
---|---|
CryptAcquireContext |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 특정 CSP 내에서 현재 사용자의 키 컨테이너 에 대한 핸들을 가져옵니다. |
CryptContextAddRef |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. HCRYPTPROV 핸들에 대한 참조 수를 증분합니다. |
CryptEnumProviders |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 컴퓨터의 공급자를 열거합니다. |
CryptEnumProviderTypes |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 컴퓨터에서 지원되는 공급자 유형을 열거합니다. |
CryptGetDefaultProvider |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 현재 사용자 또는 지정된 공급자 유형의 컴퓨터에 대한 기본 CSP를 결정합니다. |
CryptGetProvParam |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. CSP의 작업을 제어하는 매개 변수를 검색합니다. |
CryptInstallDefaultContext |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 기본 컨텍스트로 사용할 이전에 획득한 HCRYPTPROV 컨텍스트를 설치합니다. |
CryptReleaseContext |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. CryptAcquireContext 함수에서 획득한 핸들을 해제합니다. |
CryptSetProvider 및 CryptSetProviderEx |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 특정 CSP 형식에 대한 사용자 기본 CSP를 지정합니다. |
CryptSetProvParam |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. CSP의 특성을 지정합니다. |
CryptUninstallDefaultContext |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. CryptInstallDefaultContext에서 이전에 설치한 기본 컨텍스트를 제거합니다. |
FreeCryptProvFromCertEx | 핸들을 CSP( 암호화 서비스 공급자 ) 또는 암호화 API: CNG(차세대) 키로 해제합니다. |
키 생성 및 Exchange 함수
키 생성 및 교환 함수는 다른 사용자와 키를 교환 하고 암호화 키를 생성, 구성 및 삭제합니다.
기능 | 설명 |
---|---|
CryptDeriveKey |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 암호에서 파생된 키를 만듭니다. |
CryptDestroyKey |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 키를 삭제합니다. |
CryptDuplicateKey |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 키 의 상태를 포함하여 키의 정확한 복사본을 만듭니다. |
CryptExportKey |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. CSP에서 애플리케이션 메모리 공간의 키 BLOB으로 키를 전송합니다. |
CryptGenKey |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 임의 키를 만듭니다. |
CryptGenRandom |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 임의 데이터를 생성합니다. |
CryptGetKeyParam |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 키의 매개 변수를 검색합니다. |
CryptGetUserKey |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 키 교환 또는 서명 키에 대한 핸들을 가져옵니다. |
CryptImportKey |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 키 BLOB 에서 CSP로 키를 전송합니다. |
CryptSetKeyParam |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 키의 매개 변수를 지정합니다. |
개체 인코딩 및 디코딩 함수
일반화된 인코딩 및 디코딩 함수입니다. 인증서, CRL( 인증서 해지 목록), 인증서요청 및 인증서 확장을 인코딩하고 디코딩하는 데 사용됩니다.
기능 | 설명 |
---|---|
CryptDecodeObject | lpszStructType 형식의 구조를 디코딩합니다. |
CryptDecodeObjectEx | lpszStructType 형식의 구조를 디코딩합니다. CryptDecodeObjectEx 는 원패스 메모리 할당 옵션을 지원합니다. |
CryptEncodeObject | lpszStructType 형식의 구조를 인코딩합니다. |
CryptEncodeObjectEx | lpszStructType 형식의 구조를 인코딩합니다. CryptEncodeObjectEx 는 원패스 메모리 할당 옵션을 지원합니다. |
데이터 암호화 및 암호 해독 함수
다음 함수는 암호화 및 암호 해독 작업을 지원합니다. CryptEncrypt 및 CryptDecrypt 는 호출되기 전에 암호화 키가 필요합니다. 이 작업은 CryptGenKey, CryptDeriveKey 또는 CryptImportKey 함수를 사용하여 수행됩니다. 암호화 알고리즘은 키를 만들 때 지정됩니다. CryptSetKeyParam 은 추가 암호화 매개 변수를 설정할 수 있습니다.
기능 | 설명 |
---|---|
CryptDecrypt |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 지정된 암호화 키를 사용하여 암호 텍스트 섹션의 암호를 해독합니다. |
CryptEncrypt |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 지정된 암호화 키를 사용하여 일반 텍스트 의 섹션을 암호화합니다. |
CryptProtectData | DATA_BLOB 구조의 데이터에 대한 암호화를 수행합니다. |
CryptProtectMemory | 메모리를 암호화하여 중요한 정보를 보호합니다. |
CryptUnprotectData | DATA_BLOB 데이터의 암호 해독 및 무결성 검사 수행합니다. |
CryptUnprotectMemory | CryptProtectMemory를 사용하여 암호화된 메모리의 암호를 해독합니다. |
해시 및 디지털 서명 함수
이러한 함수는 데이터의 해시를 계산하고 디지털 서명을 만들고 확인합니다. 해시를 메시지 다이제스트라고도 합니다.
기능 | 설명 |
---|---|
CryptCreateHash |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 빈 해시 개체를 만듭니다. |
CryptDestroyHash |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 해시 개체를 삭제합니다. |
CryptDuplicateHash | 해시 개체를 복제합니다. |
CryptGetHashParam | 해시 개체 매개 변수를 검색합니다. |
CryptHashData |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 데이터 블록을 해시하여 지정된 해시 개체에 추가합니다. |
CryptHashSessionKey |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 세션 키를 해시하여 지정된 해시 개체에 추가합니다. |
CryptSetHashParam |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 해시 개체 매개 변수를 설정합니다. |
CryptSignHash |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 지정된 해시 개체에 서명합니다. |
CryptUIWizDigitalSign | 문서 또는 BLOB에 디지털 서명하는 마법사를 표시합니다. |
CryptUIWizFreeDigitalSignContext | CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT 구조체에 대한 포인터를 놓습니다. |
CryptVerifySignature |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 해시 개체에 대한 핸들이 지정된 디지털 서명을 확인합니다. |
PFNCFILTERPROC | CryptUIWizDigitalSign 함수에 의해 표시되는 디지털 서명 마법사에 표시되는 인증서를 필터링합니다. |
인증서 및 인증서 저장소 함수
인증서 및 인증서 저장소 함수는 인증서, CRL( 인증서 해지 목록 ) 및 CTL( 인증서 신뢰 목록 )의 사용, 스토리지 및 검색을 관리합니다. 이러한 함수는 다음 그룹으로 나뉩니다.
- 인증서 저장소 함수
- 인증서 및 인증서 저장소 유지 관리 함수
- 인증서 함수
- 인증서 해지 목록 함수
- 인증서 신뢰 목록 함수
- 확장 속성 함수
- MakeCert 함수
인증서 저장소 함수
사용자 사이트는 시간이 지남에 따라 많은 인증서를 수집할 수 있습니다. 일반적으로 사이트에는 사이트 사용자에 대한 인증서와 사용자가 통신하는 개인 및 엔터티를 설명하는 다른 인증서가 있습니다. 각 엔터티에 대해 둘 이상의 인증서가 있을 수 있습니다. 각 개별 인증서에 대해 신뢰할 수 있는 루트 인증서에 대한 추적을 제공하는 인증서를 확인하는 체인이 있어야 합니다. 인증서 저장소 및 관련 함수는 인증서에 저장된 정보를 저장, 검색, 열거, 확인 및 사용하는 기능을 제공합니다.
기능 | 설명 |
---|---|
CertAddStoreToCollection | 컬렉션 인증서 저장소에 형제 인증서 저장소를 추가합니다. |
CertCloseStore | 인증서 저장소 핸들을 닫습니다. |
CertControlStore | 캐시된 저장소의 콘텐츠와 스토리지에 유지되는 저장소의 콘텐츠 간에 차이가 있는 경우 애플리케이션에 알림을 받을 수 있습니다. 또한 필요한 경우 캐시된 저장소의 비동기화를 제공하고 캐시된 저장소의 변경 내용을 지속형 스토리지에 커밋하는 수단을 제공합니다. |
CertDuplicateStore | 참조 횟수를 증가시켜 저장소 핸들을 복제합니다. |
CertEnumPhysicalStore | 지정된 시스템 저장소의 실제 저장소를 열거합니다. |
CertEnumSystemStore | 사용 가능한 모든 시스템 저장소를 열거합니다. |
CertEnumSystemStoreLocation | 사용 가능한 시스템 저장소가 있는 모든 위치를 열거합니다. |
CertGetStoreProperty | 저장소 속성을 가져옵니다. |
CertOpenStore | 지정된 저장소 공급자 유형을 사용하여 인증서 저장소를 엽니다. |
CertOpenSystemStore | 하위 시스템 프로토콜을 기반으로 시스템 인증서 저장소를 엽니다. |
CertRegisterPhysicalStore | 레지스트리 시스템 저장소 컬렉션에 물리적 저장소를 추가합니다. |
CertRegisterSystemStore | 시스템 저장소를 등록합니다. |
CertRemoveStoreFromCollection | 컬렉션 저장소에서 형제 인증서 저장소를 제거합니다. |
CertSaveStore | 인증서 저장소를 저장합니다. |
CertSetStoreProperty | 저장소 속성을 설정합니다. |
CertUnregisterPhysicalStore | 지정된 시스템 저장소 컬렉션에서 실제 저장소를 제거합니다. |
CertUnregisterSystemStore | 지정된 시스템 저장소의 등록을 취소합니다. |
CryptUIWizExport | 인증서, CTL(인증서 신뢰 목록), CRL(인증서 해지 목록) 또는 인증서 저장소를 내보내는 마법사를 제공합니다. |
CryptUIWizImport | 인증서, CTL(인증서 신뢰 목록), CRL(인증서 해지 목록) 또는 인증서 저장소를 가져오는 마법사를 제공합니다. |
인증서 및 인증서 저장소 유지 관리 함수
CryptoAPI는 일반 인증서 및 인증서 저장소 유지 관리 기능 집합을 제공합니다.
기능 | 설명 |
---|---|
CertAddSerializedElementToStore | 직렬화된 인증서 또는 CRL 요소를 저장소에 추가합니다. |
CertCreateContext | 인코딩된 바이트에서 지정된 컨텍스트를 만듭니다. 새 컨텍스트는 저장소에 배치되지 않습니다. |
CertEnumSubjectInSortedCTL | 정렬된 CTL 컨텍스트에서 TrustedSubjects를 열거합니다. |
CertFindSubjectInCTL | CTL에서 지정된 제목을 찾습니다. |
CertFindSubjectInSortedCTL | 정렬된 CTL에서 지정된 제목을 찾습니다. |
OpenPersonalTrustDBDialog 및 OpenPersonalTrustDBDialogEx | 인증서 대화 상자를 표시 합니다 . |
인증서 함수
대부분의 인증서 함수에는 CRL 및 CTL 을 처리하는 관련 함수 가 있습니다. 관련 CRL 및 CTL 함수에 대한 자세한 내용은 인증서 해지 목록 함수 및 인증서 신뢰 목록 함수를 참조하세요.
기능 | 설명 |
---|---|
CertAddCertificateContextToStore | 인증서 저장소에 인증서 컨텍스트를 추가합니다. |
CertAddCertificateLinkToStore | 인증서 저장소의 링크를 다른 저장소의 인증서 컨텍스트에 추가합니다. |
CertAddEncodedCertificateToStore | 인코딩된 인증서를 인증서 컨텍스트로 변환한 다음 인증서 저장소에 컨텍스트를 추가합니다. |
CertAddRefServerOcspResponse | HCERT_SERVER_OCSP_RESPONSE 핸들에 대한 참조 수를 증분합니다. |
CertAddRefServerOcspResponseContext | CERT_SERVER_OCSP_RESPONSE_CONTEXT 구조체에 대한 참조 수를 증분합니다. |
CertCloseServerOcspResponse | OCSP(온라인 인증서 상태 프로토콜) 서버 응답 핸들을 닫습니다. |
CertCreateCertificateContext | 인코딩된 인증서에서 인증서 컨텍스트를 만듭니다. 만든 컨텍스트는 인증서 저장소에 배치되지 않습니다. |
CertCreateSelfSignCertificate | 자체 서명된 인증서를 만듭니다. |
CertDeleteCertificateFromStore | 인증서 저장소에서 인증서를 삭제합니다. |
CertDuplicateCertificateContext | 참조 횟수를 증가시켜 인증서 컨텍스트를 복제합니다. |
CertEnumCertificatesInStore | 인증서 저장소의 인증서 컨텍스트를 열거합니다. |
CertFindCertificateInStore | 검색 조건을 충족하는 인증서 저장소에서 첫 번째 또는 다음 인증서 컨텍스트를 찾습니다. |
CertFreeCertificateContext | 인증서 컨텍스트를 해제합니다. |
CertGetIssuerCertificateFromStore | 지정된 주체 인증서의 첫 번째 또는 다음 발급자의 인증서 저장소에서 인증서 컨텍스트를 가져옵니다. |
CertGetServerOcspResponseContext | 지정된 핸들에 대한 비 차단, 시간 유효한 온라인 인증서 상태 프로토콜(OCSP) 응답 컨텍스트를 검색합니다. |
CertGetSubjectCertificateFromStore | 인증서 저장소에서 발급자와 일련 번호로 고유하게 식별되는 주체 인증서 컨텍스트를 가져옵니다. |
CertGetValidUsages | 인증서 배열의 모든 인증서에 대해 유효한 사용법의 교집합으로 구성된 사용량 배열을 반환합니다. |
CertOpenServerOcspResponse | 서버 인증서 체인과 연결된 OCSP(온라인 인증서 상태 프로토콜) 응답에 대한 핸들을 엽니다. |
CertRetrieveLogoOrBiometricInfo | szOID_LOGOTYPE_EXT 또는 szOID_BIOMETRIC_EXT 인증서 확장에 지정된 로고 또는 생체 인식 정보의 URL 검색을 수행합니다. |
CertSelectCertificate | 사용자가 지정된 조건과 일치하는 인증서 집합에서 인증서를 선택할 수 있는 대화 상자를 표시합니다. |
CertSelectCertificateChains | 지정된 선택 조건에 따라 인증서 체인을 검색합니다. |
CertSelectionGetSerializedBlob | CERT_SELECTUI_INPUT 구조에서 직렬화된 인증서 BLOB을 검색하는 데 사용되는 도우미 함수입니다. |
CertSerializeCertificateStoreElement | 인증서 컨텍스트의 인코딩된 인증서와 해당 속성의 인코딩된 표현을 직렬화합니다. |
CertVerifySubjectCertificateContext | 발급자를 사용하여 주체 인증서에 대해 활성화된 확인 검사를 수행합니다. |
CryptUIDlgCertMgr | 사용자가 인증서를 관리할 수 있는 대화 상자를 표시합니다. |
CryptUIDlgSelectCertificate | 사용자가 인증서를 선택할 수 있는 대화 상자를 표시합니다. |
CryptUIDlgSelectCertificateFromStore | 지정된 저장소에서 인증서를 선택할 수 있는 대화 상자를 표시합니다. |
CryptUIDlgViewCertificate | 지정된 인증서를 표시하는 대화 상자를 표시합니다. |
CryptUIDlgViewContext | 인증서, CRL 또는 CTL을 표시합니다. |
CryptUIDlgViewSignerInfo | 서명된 메시지에 대한 서명자 정보가 포함된 대화 상자를 표시합니다. |
GetFriendlyNameOfCert | 인증서의 표시 이름을 검색합니다. |
RKeyCloseKeyService | 키 서비스 핸들을 닫습니다. |
RKeyOpenKeyService | 원격 컴퓨터에서 키 서비스 핸들을 엽니다. |
RKeyPFXInstall | 원격 컴퓨터에 인증서를 설치합니다. |
인증서 해지 목록 함수
이러한 함수는 CRL( 인증서 해지 목록 )의 스토리지 및 검색을 관리합니다.
기능 | 설명 |
---|---|
CertAddCRLContextToStore | 인증서 저장소에 CRL 컨텍스트를 추가합니다. |
CertAddCRLLinkToStore | 저장소의 링크를 다른 저장소의 CRL 컨텍스트에 추가합니다. |
CertAddEncodedCRLToStore | 인코딩된 CRL을 CRL 컨텍스트로 변환한 다음 인증서 저장소에 컨텍스트를 추가합니다. |
CertCreateCRLContext | 인코딩된 CRL에서 CRL 컨텍스트를 만듭니다. 만든 컨텍스트가 인증서 저장소에 배치되지 않습니다. |
CertDeleteCRLFromStore | 인증서 저장소에서 CRL을 삭제합니다. |
CertDuplicateCRLContext | 참조 수를 증가시켜 CRL 컨텍스트를 복제합니다. |
CertEnumCRLsInStore | 저장소에서 CRL 컨텍스트를 열거합니다. |
CertFindCertificateInCRL | CRL( 인증서 해지 목록 )에서 지정된 인증서를 검색합니다. |
CertFindCRLInStore | 인증서 저장소에서 특정 조건과 일치하는 첫 번째 또는 다음 CRL 컨텍스트를 찾습니다. |
CertFreeCRLContext | CRL 컨텍스트를 해제합니다. |
CertGetCRLFromStore | 지정된 발급자 인증서에 대한 인증서 저장소에서 첫 번째 또는 다음 CRL 컨텍스트를 가져옵니다. |
CertSerializeCRLStoreElement | CRL 컨텍스트의 인코딩된 CRL 및 해당 속성을 직렬화합니다. |
인증서 신뢰 목록 함수
이러한 함수는 CTL( 인증서 신뢰 목록 )의 스토리지 및 검색을 관리합니다.
기능 | 설명 |
---|---|
CertAddCTLContextToStore | 인증서 저장소에 CTL 컨텍스트를 추가합니다. |
CertAddCTLLinkToStore | 저장소의 링크를 다른 저장소의 CRL 컨텍스트에 추가합니다. |
CertAddEncodedCTLToStore | 인코딩된 CTL을 CTL 컨텍스트로 변환한 다음 인증서 저장소에 컨텍스트를 추가합니다. |
CertCreateCTLContext | 인코딩된 인증서 신뢰 목록에서 CTL 컨텍스트를 만듭니다. 만든 컨텍스트가 인증서 저장소에 배치되지 않습니다. |
CertDeleteCTLFromStore | 인증서 저장소에서 CTL을 삭제합니다. |
CertDuplicateCTLContext | 참조 수를 증분하여 CTL 컨텍스트를 복제합니다. |
CertEnumCTLsInStore | 인증서 저장소의 CTL 컨텍스트를 열거합니다. |
CertFindCTLInStore | 인증서 저장소에서 특정 조건과 일치하는 첫 번째 또는 다음 CTL 컨텍스트를 찾습니다. |
CertFreeCTLContext | CTL 컨텍스트를 해제합니다. |
CertModifyCertificatesToTrust | 지정된 목적을 위해 CTL의 인증서 집합을 수정합니다. |
CertSerializeCTLStoreElement | CTL 컨텍스트의 인코딩된 CTL 및 해당 속성을 직렬화합니다. |
확장 속성 함수
다음 함수는 인증서, CRL 및 CTL의 확장 속성에서 작동합니다.
기능 | 설명 |
---|---|
CertEnumCertificateContextProperties | 지정된 인증서 컨텍스트의 속성을 열거합니다. |
CertEnumCRLContextProperties | 지정된 CRL 컨텍스트의 속성을 열거합니다. |
CertEnumCTLContextProperties | 지정된 CTL 컨텍스트의 속성을 열거합니다. |
CertGetCertificateContextProperty | 인증서 속성을 검색합니다. |
CertGetCRLContextProperty | CRL 속성을 검색합니다. |
CertGetCTLContextProperty | CTL 속성을 검색합니다. |
CertSetCertificateContextProperty | 인증서 속성을 설정합니다. |
CertSetCRLContextProperty | CRL 속성을 설정합니다. |
CertSetCTLContextProperty | CTL 속성을 설정합니다. |
MakeCert 함수
다음 함수는 MakeCert 도구를 지원합니다.
기능 | 설명 |
---|---|
FreeCryptProvFromCert | 핸들을 CSP( 암호화 서비스 공급자 )로 해제하고 필요에 따라 GetCryptProvFromCert 함수에서 만든 임시 컨테이너를 삭제합니다. |
GetCryptProvFromCert | CSP에 대한 핸들과 인증서 컨텍스트에 대한 키 사양을 가져옵니다. |
PvkFreeCryptProv | 핸들을 CSP로 해제하고 필요에 따라 PvkGetCryptProv 함수에서 만든 임시 컨테이너를 삭제합니다. |
PvkGetCryptProv | 프라이빗 키 파일 이름 또는 키 컨테이너 이름을 기반으로 CSP에 대한 핸들을 가져옵니다. |
PvkPrivateKeyAcquireContextFromMemory | CSP에 임시 컨테이너를 만들고 메모리에서 컨테이너로 프라이빗 키를 로드합니다. |
PvkPrivateKeySave | 프라이빗 키와 해당 공개 키를 지정된 파일에 저장합니다. |
SignError | GetLastError를 호출하고 반환 코드를 HRESULT로 변환합니다. |
인증서 확인 함수
인증서는 CTL 또는 인증서 체인을 사용하여 확인됩니다. 함수는 다음 두 가지 모두에 대해 제공됩니다.
- CTL을 사용하는 확인 함수
- 인증서 체인 확인 함수
CTL을 사용하는 확인 함수
이러한 함수는 확인 프로세스에서 CTL을 사용합니다. CTL을 사용하기 위한 추가 함수는 인증서 신뢰 목록 함수 및 확장 속성 함수에서 찾을 수 있습니다.
다음 함수는 확인을 위해 CTL을 직접 사용합니다.
기능 | 설명 |
---|---|
CertVerifyCTLUsage | CTL의 사용량을 확인합니다. |
CryptMsgEncodeAndSignCTL | CTL을 인코딩하고 메시지로 서명합니다. |
CryptMsgGetAndVerifySigner | 메시지에서 CTL을 검색하고 확인합니다. |
CryptMsgSignCTL | CTL이 포함된 메시지에 서명합니다. |
인증서 체인 확인 함수
인증서 체인은 개별 인증서에 대한 신뢰 정보를 제공하도록 빌드됩니다.
함수 이름 | 설명 |
---|---|
CertCreateCertificateChainEngine | 애플리케이션에 대한 기본이 아닌 새 체인 엔진을 만듭니다. |
CertCreateCTLEntryFromCertificateContextProperties | 특성이 인증서 컨텍스트의 속성인 CTL 항목을 만듭니다. |
CertDuplicateCertificateChain | 체인의 참조 수를 증가시키고 체인에 대한 포인터를 반환하여 인증서 체인을 복제합니다. |
CertFindChainInStore | 저장소에서 첫 번째 또는 다음 인증서 체인 컨텍스트를 찾습니다. |
CertFreeCertificateChain | 참조 수를 줄여 인증서 체인을 해제합니다. |
CertFreeCertificateChainEngine | 기본이 아닌 인증서 체인 엔진을 해제합니다. |
CertFreeCertificateChainList | 포인터 배열을 체인 컨텍스트로 해제합니다. |
CertGetCertificateChain | 가능한 경우 최종 인증서에서 시작하여 신뢰할 수 있는 루트 인증서로 돌아가는 체인 컨텍스트를 빌드합니다. |
CertIsValidCRLForCertificate | CRL을 확인하여 해당 인증서가 해지된 경우 특정 인증서를 포함할지 여부를 확인합니다. |
CertSetCertificateContextPropertiesFromCTLEntry | CTL 항목의 특성을 사용하여 인증서 컨텍스트의 속성을 설정합니다. |
CertVerifyCertificateChainPolicy | 인증서 체인을 검사하여 지정된 유효성 정책 조건 준수를 포함하여 인증서 체인의 유효성을 확인합니다. |
메시지 함수
CryptoAPI 메시지 함수는 하위 수준 메시지 함수와 간소화된 메시지 함수의 두 가지 함수 그룹으로 구성됩니다.
하위 수준 메시지 함수는 PKCS #7 메시지를 직접 만들고 작동합니다. 이러한 함수는 전송을 위해 PKCS #7 데이터를 인코딩하고 받은 PKCS #7 데이터를 디코딩합니다. 또한 수신된 메시지의 서명을 해독하고 확인합니다. PKCS #7 표준 및 하위 수준 메시지에 대한 개요는 하위 수준 메시지를 참조하세요.
간소화된 메시지 함수는 더 높은 수준에 있으며 여러 하위 수준 메시지 함수 및 인증서 함수를 특정 방식으로 특정 작업을 수행하는 단일 함수로 래핑합니다. 이러한 함수는 작업을 수행하는 데 필요한 함수 호출 수를 줄여 CryptoAPI 사용을 간소화합니다. 간소화된 메시지에 대한 개요는 간소화된 메시지를 참조하세요.
- 하위 수준 메시지 함수
- 간소화된 메시지 함수
하위 수준 메시지 함수
하위 수준 메시지 함수는 전송을 위해 데이터를 인코딩하고 받은 PKCS #7 메시지를 디코딩하는 데 필요한 기능을 제공합니다. 수신된 메시지의 서명을 해독하고 확인하는 기능도 제공됩니다. 대부분의 애플리케이션에서 이러한 하위 수준 메시지 함수를 사용하지 않는 것이 좋습니다. 대부분의 애플리케이션에서는 여러 하위 수준 메시지 함수를 단일 함수 호출로 래핑하는 간소화된 메시지 함수를 사용하는 것이 좋습니다.
기능 | 설명 |
---|---|
CryptMsgCalculateEncodedLength | 인코딩된 암호화 메시지의 길이를 계산합니다. |
CryptMsgClose | 암호화 메시지의 핸들을 닫습니다. |
CryptMsgControl | 인코딩되거나 디코딩된 암호화 메시지의 최종 CryptMsgUpdate 다음에 특수 제어 함수를 수행합니다. |
CryptMsgCountersign | 메시지에서 이미 존재하는 서명을 카운터 서명합니다. |
CryptMsgCountersignEncoded | 기존 서명(PKCS #7에서 정의한 대로 인코딩된 SignerInfo)을 카운터 서명합니다. |
CryptMsgDuplicate | 참조 수를 증분하여 암호화 메시지 핸들을 복제합니다. 참조 횟수는 메시지의 수명을 추적합니다. |
CryptMsgGetParam | 암호화 메시지를 인코딩하거나 디코딩한 후 매개 변수를 가져옵니다. |
CryptMsgOpenToDecode | 디코딩을 위한 암호화 메시지를 엽니다. |
CryptMsgOpenToEncode | 인코딩을 위한 암호화 메시지를 엽니다. |
CryptMsgUpdate | 암호화 메시지의 내용을 업데이트. |
CryptMsgVerifyCountersignatureEncoded | SignerInfo 구조체(PKCS #7에 정의된 대로)의 측면에서 카운터 서명자를 확인합니다. |
CryptMsgVerifyCountersignatureEncodedEx | pbSignerInfoCounterSignature 매개 변수에 pbSignerInfo 매개 변수 구조의 encryptedDigest 필드의 암호화된해시가 포함되어 있음을 확인합니다. |
간소화된 메시지 함수
간소화된 메시지 함수는 하위 수준 메시지 함수를 단일 함수로 래핑하여 지정된 작업을 수행합니다.
기능 | 설명 |
---|---|
CryptDecodeMessage | 암호화 메시지를 디코딩합니다. |
CryptDecryptAndVerifyMessageSignature | 지정된 메시지의 암호를 해독하고 서명자를 확인합니다. |
CryptDecryptMessage | 지정된 메시지의 암호를 해독합니다. |
CryptEncryptMessage | 받는 사람 또는 받는 사람의 메시지를 암호화합니다. |
CryptGetMessageCertificates | 메시지의 인증서 및 CRL이 포함된 인증서 저장소를 반환합니다. |
CryptGetMessageSignerCount | 서명된 메시지의 서명자 수를 반환합니다. |
CryptHashMessage | 메시지의 해시를 만듭니다. |
CryptSignAndEncryptMessage | 메시지에 서명한 다음 받는 사람 또는 받는 사람을 위해 메시지를 암호화합니다. |
CryptSignMessageWithKey | 함수에 대한 매개 변수에 지정된 CSP의 프라이빗 키를 사용하여 메시지에 서명합니다. |
CryptSignMessage | 메시지에 서명합니다. |
CryptVerifyDetachedMessageHash | 분리된 해시가 포함된 해시된 메시지를 확인합니다. |
CryptVerifyDetachedMessageSignature | 분리된 서명 또는 서명이 포함된 서명된 메시지를 확인합니다. |
CryptVerifyMessageHash | 해시된 메시지를 확인합니다. |
CryptVerifyMessageSignature | 서명된 메시지를 확인합니다. |
CryptVerifyMessageSignatureWithKey | 지정된 공개 키 정보를 사용하여 서명된 메시지의 서명을 확인합니다. |
보조 함수
보조 함수는 다음과 같이 그룹화됩니다.
- 데이터 관리 함수
- 데이터 변환 함수
- 향상된 키 사용 기능
- 키 식별자 함수
- OID 지원 함수
- 원격 개체 검색 함수
- PFX 함수
데이터 관리 함수
다음 CryptoAPI 함수는 데이터 및 인증서를 관리합니다.
기능 | 설명 |
---|---|
CertCompareCertificate | 두 인증서를 비교하여 동일한지 여부를 확인합니다. |
CertCompareCertificateName | 두 인증서 이름을 비교하여 동일한지 여부를 확인합니다. |
CertCompareIntegerBlob | 두 개의 정수 BLOB을 비교합니다. |
CertComparePublicKeyInfo | 두 개의 공용 키를 비교하여 동일한지 여부를 확인합니다. |
CertFindAttribute | OID( 개체 식별자 )로 식별된 첫 번째 특성을 찾습니다. |
CertFindExtension | OID로 식별된 첫 번째 확장을 찾습니다. |
CertFindRDNAttr | 상대 고유 이름의 이름 목록에서 OID로 식별된 첫 번째 RDN 특성을 찾습니다. |
CertGetIntendedKeyUsage | 인증서에서 의도한 키 사용 바이트를 획득합니다. |
CertGetPublicKeyLength | 공개 키 BLOB에서 퍼블릭/프라이빗 키의 비트 길이를 가져옵니다. |
CertIsRDNAttrsInCertificateName | 인증서 이름의 특성을 지정된 CERT_RDN 비교하여 모든 특성이 포함되는지 여부를 확인합니다. |
CertIsStrongHashToSign | 서명 인증서의 지정된 해시 알고리즘과 공개 키를 사용하여 강력한 서명을 수행할 수 있는지 여부를 결정합니다. |
CertVerifyCRLRevocation | 주체 인증서가 CRL( 인증서 해지 목록 )에 없는지 확인합니다. |
CertVerifyCRLTimeValidity | CRL의 시간 유효성을 확인합니다. |
CertVerifyRevocation | 주체 인증서가 CRL에 없는지 확인합니다. |
CertVerifyTimeValidity | 인증서의 시간 유효성을 확인합니다. |
CertVerifyValidityNesting | 주체의 시간 유효성이 발급자의 시간 유효성 내에 중첩되었는지 확인합니다. |
CryptExportPKCS8 | 이 함수는 CryptExportPKCS8Ex 함수로 대체됩니다. |
CryptExportPKCS8Ex | 프라이빗 키를 PKCS #8 형식으로 내보냅니다. |
CryptExportPublicKeyInfo | 공급자의 해당 프라이빗 키와 연결된 공개 키 정보를 내보냅니다. |
CryptExportPublicKeyInfoEx | 공급자의 해당 프라이빗 키와 연결된 공개 키 정보를 내보냅니다. 이 함수는 사용자가 공개 키 알고리즘을 지정할 수 있으므로 CSP에서 제공하는 기본값을 재정의할 수 있다는 점에서 CryptExportPublicKeyInfo 와 다릅니다. |
CryptExportPublicKeyInfoFromBCryptKeyHandle | 공급자의 해당 프라이빗 키와 연결된 공개 키 정보를 내보냅니다. |
CryptFindCertificateKeyProvInfo | 암호화 공급자 및 해당 키 컨테이너 를 열거하여 인증서의 공개 키에 해당하는 프라이빗 키를 찾습니다. |
CryptFindLocalizedName | 지정된 이름의 지역화된 이름을 찾습니다. 예를 들어 루트 시스템의 저장소 이름에 대한 지역화된 이름을 찾습니다. |
CryptHashCertificate |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 인코딩된 콘텐츠를 해시합니다. |
CryptHashCertificate2 | 암호화 API: CNG(차세대) 해시 공급자를 사용하여 데이터 블록을 해시합니다. |
CryptHashPublicKeyInfo |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 인코딩된 공개 키 정보의 해시를 계산합니다. |
CryptHashToBeSigned |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 인코딩된 서명된 콘텐츠(CERT_SIGNED_CONTENT_INFO)에서 "서명할" 정보의 해시를 계산합니다. |
CryptImportPKCS8 |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. PKCS #8 형식의 프라이빗 키를 CSP( 암호화 서비스 공급자 )로 가져옵니다. |
CryptImportPublicKeyInfo |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 공개 키 정보를 공급자로 변환하고 가져오고 공개 키의 핸들을 반환합니다. |
CryptImportPublicKeyInfoEx |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. 공개 키 정보를 공급자로 변환하고 가져오고 공개 키의 핸들을 반환합니다. 기본값을 재정의하는 데 사용할 수 있는 추가 매개 변수( CryptImportPublicKeyInfo에서 지정한 매개 변수 이상) 는 CERT_PUBLIC_KEY_INFO 보완하기 위해 제공됩니다. |
CryptImportPublicKeyInfoEx2 | 공개 키를 CNG 비대칭 공급자로 가져옵니다. |
CryptMemAlloc | 버퍼에 대한 메모리를 할당합니다. 이 메모리는 할당된 버퍼를 반환하는 모든 Crypt32.lib 함수에서 사용됩니다. |
CryptMemFree | CryptMemAlloc 또는 CryptMemRealloc에서 할당한 메모리를 해제합니다. |
CryptMemRealloc | 현재 버퍼에 할당된 메모리를 해제하고 새 버퍼에 대한 메모리를 할당합니다. |
CryptQueryObject |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다. BLOB 또는 파일의 콘텐츠에 대한 정보를 검색합니다. |
CryptSignAndEncodeCertificate | "서명할" 정보를 인코딩하고, 이 인코딩된 정보에 서명하고, 결과 서명된 인코딩된 정보를 인코딩합니다. |
CryptSignCertificate | 인코딩된 서명된 콘텐츠에 "서명할" 정보에 서명합니다. |
CryptSIPAddProvider | SIP(주체 인터페이스 패키지)를 추가합니다. |
CryptSIPCreateIndirectData | 제공된 SIP_SUBJECTINFO 구조체의 해시 , 다이제스트 알고리즘 및 인코딩 특성이 포함된 SIP_INDIRECT_DATA 구조를 반환합니다. 해시는 데이터에 대한 간접 참조로 사용할 수 있습니다. |
CryptSIPGetCaps | SIP의 기능을 검색합니다. |
CryptSIPGetSignedDataMsg | 파일에서 Authenticode 서명을 검색합니다. |
CryptSIPLoad | 주체 인터페이스 패키지를 구현하는 동적 링크 라이브러리를 로드하고 적절한 라이브러리 내보내기 함수를 SIP_DISPATCH_INFO 구조에 할당합니다. |
CryptSIPPutSignedDataMsg | 대상 파일에 Authenticode 서명을 저장합니다. |
CryptSIPRemoveProvider | CryptSIPAddProvider 함수에 대한 이전 호출에 의해 추가된 SIP를 제거합니다. |
CryptSIPRemoveSignedDataMsg | 지정된 Authenticode 서명을 제거합니다. |
CryptSIPRetrieveSubjectGuid | 지정된 파일의 헤더 정보를 기반으로 GUID를 검색합니다. |
CryptSIPRetrieveSubjectGuidForCatalogFile | 지정된 파일과 연결된 주체 GUID를 검색합니다. |
CryptSIPVerifyIndirectData | 제공된 주체에 대해 간접 해시 데이터의 유효성을 검사합니다. |
CryptUpdateProtectedState | 사용자의 SID(보안 식별자)가 변경된 후 현재 사용자의 master 키를 마이그레이션합니다. |
CryptVerifyCertificateSignature | 공개 키 정보를 사용하여 주체 인증서 또는 CRL 의 서명을 확인합니다. |
CryptVerifyCertificateSignatureEx | CryptVerifyCertificateSignature의 확장 버전입니다. |
GetEncSChannel | 암호화된 Schannel DLL 콘텐츠를 메모리에 저장합니다. |
pCryptSIPGetCaps | 기능을 보고하기 위해 SIP에 의해 구현됩니다. |
데이터 변환 함수
다음 CryptoAPI 함수는 인증서 구조 멤버를 다른 형식으로 변환합니다.
기능 | 설명 |
---|---|
CertAlgIdToOID | cryptoAPI 알고리즘 식별자(ALG_ID)를 ASN.1( 추상 구문 표기법 1) OID( 개체 식별자 ) 문자열로 변환합니다. |
CertGetNameString | 인증서에서 주체 또는 발급자 이름을 획득하고 null로 끝나는 문자열로 변환합니다. |
CertNameToStr | 인증서 이름 BLOB 을 0으로 끝나는 문자열로 변환합니다. |
CertOIDToAlgId | ASN.1 개체 식별자 문자열을 CSP 알고리즘 식별자로 변환합니다. |
CertRDNValueToStr | 이름 값을 null로 끝나는 문자열로 변환합니다. |
CertStrToName | null로 종료된 X.500 문자열을 인코딩된 인증서 이름으로 변환합니다. |
CryptBinaryToString | 이진 시퀀스를 형식이 지정된 문자열로 변환합니다. |
CryptFormatObject | 인코딩된 데이터의 형식을 지정하고 유니코드 문자열을 반환합니다. |
CryptStringToBinary | 서식이 지정된 문자열을 이진 시퀀스로 변환합니다. |
향상된 키 사용 함수
다음 함수는 EKU(향상된 키 사용 ) 확장 및 인증서의 EKU 확장 속성을 처리합니다. EKU 확장 및 확장 속성은 인증서의 유효한 사용을 지정하고 제한합니다. 확장은 인증서 자체의 일부입니다. 인증서 발급자는 인증서를 설정하며 읽기 전용입니다. 인증서 확장 속성은 애플리케이션에서 설정할 수 있는 인증서와 연결된 값입니다.
기능 | 설명 |
---|---|
CertAddEnhancedKeyUsageIdentifier | 인증서의 EKU 속성에 사용 식별자를 추가합니다. |
CertGetEnhancedKeyUsage | 인증서에서 EKU 확장 또는 속성에 대한 정보를 가져옵니다. |
CertRemoveEnhancedKeyUsageIdentifier | 인증서의 EKU 확장 속성에서 사용 식별자를 제거합니다. |
CertSetEnhancedKeyUsage | 인증서에 대한 EKU 속성을 설정합니다. |
키 식별자 함수
키 식별자 함수를 사용하면 사용자가 키 식별자 또는 해당 속성을 만들거나, 설정하거나, 검색하거나, 찾을 수 있습니다.
키 식별자는 퍼블릭/프라이빗 키 쌍의 고유 식별자입니다. 모든 고유 식별자일 수 있지만 일반적으로 인코딩된 CERT_PUBLIC_KEY_INFO 구조체의 20 바이트 SHA1 해시입니다. 인증서의 CERT_KEY_IDENTIFIER_PROP_ID 통해 키 식별자를 가져올 수 있습니다. 키 식별자를 사용하면 인증서를 사용하지 않고 해당 키 쌍 을 사용하여 메시지를 암호화하거나 암호 해독할 수 있습니다.
키 식별자는 인증서 컨텍스트와 동일한 속성을 가질 수 있습니다. 자세한 내용은 CertCreateContext를 참조하세요.
기능 | 설명 |
---|---|
CryptCreateKeyIdentifierFromCSP |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. CSP의 공개 키 BLOB에서 키 식별자를 만듭니다. |
CryptEnumKeyIdentifierProperties | 키 식별자와 해당 속성을 열거합니다. |
CryptGetKeyIdentifierProperty |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 지정된 키 식별자에서 특정 속성을 가져옵니다. |
CryptSetKeyIdentifierProperty |
중요: 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다. 지정된 키 식별자의 속성을 설정합니다. |
OID 지원 함수
이러한 함수는 OID( 개체 식별자 ) 지원을 제공합니다. 이러한 함수는 OID 및 인코딩 형식별 함수를 설치, 등록 및 디스패치합니다.
다음 CryptoAPI 함수는 다음 OID 지원 함수를 사용합니다.
- CryptEncodeObject
- CryptEncodeObjectEx
- CryptDecodeObject
- CryptDecodeObjectEx
- CertVerifyRevocation
- CertOpenStore
이 프로세스에 대한 개요는 CryptoAPI 기능 확장을 참조하세요.
다음 함수는 OID에서 작동합니다.
기능 | 설명 |
---|---|
CryptEnumOIDFunction | 인코딩 형식, 함수 이름 및 OID로 식별된 등록된 OID 함수를 열거합니다. |
CryptEnumOIDInfo | 해당 그룹에서 식별된 등록된 OID 정보를 열거하고 일치 항목에 대해 pfnEnumOIDInfo 를 호출합니다. |
CryptFindOIDInfo | 지정된 키와 그룹을 사용하여 OID 정보를 찾습니다. |
CryptFreeOIDFunctionAddress | CryptGetOIDFunctionAddress 또는 CryptGetDefaultOIDFunctionAddress에서 증가 및 반환된 핸들 수를 해제합니다. |
CryptGetDefaultOIDDllList | 지정된 함수 집합 및 인코딩 형식에 대해 등록된 기본 DLL 항목 목록을 가져옵니다. |
CryptGetDefaultOIDFunctionAddress | 첫 번째 또는 다음에 설치된 기본 함수를 가져오거나 기본 함수가 포함된 DLL을 로드합니다. |
CryptGetOIDFunctionAddress | 설치된 함수 목록에서 인코딩 형식 및 OID 일치 항목을 검색합니다. 일치하는 항목을 찾을 수 없으면 레지스트리에서 일치 항목을 검색합니다. |
CryptGetOIDFunctionValue | 지정된 인코딩 형식, 함수 이름, OID 및 값 이름에 대한 값을 가져옵니다. |
CryptInitOIDFunctionSet | 제공된 함수 이름으로 식별된 OID 함수 집합의 핸들을 초기화하고 반환합니다. |
CryptInstallOIDFunctionAddress | 호출 가능한 OID 함수 주소 집합을 설치합니다. |
CryptRegisterDefaultOIDFunction | 지정된 인코딩 형식 및 함수 이름에 대해 호출할 기본 함수가 포함된 DLL을 등록합니다. |
CryptRegisterOIDFunction | 지정된 인코딩 형식, 함수 이름 및 OID에 대해 호출할 함수가 포함된 DLL을 등록합니다. |
CryptRegisterOIDInfo | CRYPT_OID_INFO 구조에 지정된 OID 정보를 등록하여 레지스트리에 유지합니다. |
CryptSetOIDFunctionValue | 지정된 인코딩 형식, 함수 이름, OID 및 값 이름에 대한 값을 설정합니다. |
CryptUnregisterDefaultOIDFunction | 지정된 인코딩 형식 및 함수 이름에 대해 호출할 기본 함수가 포함된 DLL에 대한 등록을 제거합니다. |
CryptUnregisterOIDFunction | 지정된 인코딩 형식, 함수 이름 및 OID에 대해 호출할 함수가 포함된 DLL에 대한 등록을 제거합니다. |
CryptUnregisterOIDInfo | 지정된 OID 정보에 대한 등록을 제거합니다. |
원격 개체 검색 함수
다음 함수를 사용하면 사용자가 PKI(공개 키 인프라) 개체를 검색하거나, 인증서, CTL 또는 CRL의 URL을 획득하거나, 개체에서 URL을 추출할 수 있습니다.
기능 | 설명 |
---|---|
CryptGetObjectUrl | 인증서, CTL 또는 CRL에서 원격 개체의 URL을 가져옵니다. |
CryptRetrieveObjectByUrl | URL로 지정된 위치에서 PKI 개체를 검색합니다. |
PFX 함수
다음 함수는 PFX(개인 정보 교환) 형식 BLOB을 지원합니다.
기능 | 설명 |
---|---|
PFXExportCertStore | 참조된 인증서에서 내보내는 인증서는 인증서를 저장 하고, 사용 가능한 경우 연결된 프라이빗 키를 저장합니다. |
PFXExportCertStoreEx | 참조된 인증서에서 내보내는 인증서는 인증서를 저장하고, 사용 가능한 경우 연결된 프라이빗 키를 저장합니다. |
PFXImportCertStore | PFX BLOB을 가져오고 인증서 및 연결된 프라이빗 키가 포함된 저장소의 핸들을 반환합니다. |
PFXIsPFXBlob | BLOB의 외부 계층을 PFX 패킷으로 디코딩하려고 시도합니다. |
PFXVerifyPassword | BLOB의 외부 계층을 PFX 패킷으로 디코딩하고 지정된 암호로 암호를 해독하려고 시도합니다. |
Certificate Services 백업 및 복원 함수
Certificate Services에는 Certificate Services 데이터베이스를 백업하고 복원하기 위한 함수가 포함되어 있습니다. 이러한 Certificate Services 백업 및 복원 함수는 Certadm.dll 포함되어 있습니다. Certificate Services와 연결된 다른 API 요소와 달리 이러한 함수는 클래스 메서드를 호출하는 데 사용할 수 있는 개체에 캡슐화되지 않습니다. 대신 LoadLibrary 를 호출한 다음 GetProcAddress를 호출하여 함수의 주소를 확인하여 먼저 Certadm.dll 라이브러리를 메모리에 로드하여 백업 및 복원 API를 호출합니다. Certificate Services 백업 및 복원 함수 호출을 마쳤으면 FreeLibrary 를 호출하여 메모리에서 Certadm.dll 리소스를 해제합니다.
참고
Certadm.dll 제공하는 백업 및 복원 함수는 인증서 서비스의 프라이빗 키를 백업하거나 복원하지 않습니다. Certificate Services 프라이빗 키를 백업하는 방법에 대한 자세한 내용은 인증서 서비스 프라이빗 키 백업 및 복원을 참조하세요.
백업 및 복원 함수를 호출하려면 백업 및 복원 권한이 있어야 합니다. 자세한 내용은 백업 및 복원 권한 설정을 참조하세요.
참고
이전에 인증서 서비스 백업을 호출하고 API를 복원하는 데 사용된 동일한 스레드에서 CoInitializeEx 가 호출된 경우 COINIT_APARTMENTTHREADED 플래그가 CoInitializeEx에 전달되어야 합니다. 즉, 동일한 스레드를 사용하는 경우 CoInitializeEx 호출에서 스레드가 이전에 COINIT_MULTITHREADED 플래그에 전달된 경우 인증서 서비스 백업을 호출하고 API를 복원할 수 없습니다.
인증서 서비스 백업 API는 Certbcli.h에 정의되어 있습니다. 그러나 프로그램을 만들 때 Certsrv.h를 포함 파일로 사용합니다.
다음 API는 Certadm.dll 내보냅니다.
기능 | 설명 |
---|---|
CertSrvBackupClose | 열린 파일을 닫습니다. |
CertSrvBackupEnd | 백업 세션을 종료합니다. |
CertSrvBackupFree | 백업 및 복원 API에 의해 할당된 버퍼를 해제합니다. |
CertSrvBackupGetBackupLogs | 백업해야 하는 로그 파일 목록을 반환합니다. |
CertSrvBackupGetDatabaseNames | 백업해야 하는 데이터베이스 파일 목록을 반환합니다. |
CertSrvBackupGetDynamicFileList | 지정된 백업 컨텍스트에 대해 백업해야 하는 Certificate Services 동적 파일 이름 목록을 검색합니다. |
CertSrvBackupOpenFile | 백업을 준비하기 위해 파일을 엽니다. |
CertSrvBackupPrepare | 온라인 백업을 위해 데이터베이스를 준비합니다. |
CertSrvBackupRead | 열린 파일의 내용을 읽습니다. |
CertSrvBackupTruncateLogs | 로그 파일을 자립니다. |
CertSrvIsServerOnline | 인증서 서비스 서버가 온라인 상태인지 여부를 확인합니다(적극적으로 실행 중). |
CertSrvRestoreEnd | 복원 세션을 종료합니다. |
CertSrvRestoreGetDatabaseLocations | 데이터베이스 위치를 검색합니다(백업 및 복원 시나리오 모두에 사용됨). |
CertSrvRestorePrepare | 복원 세션을 시작합니다. |
CertSrvRestoreRegister | 복원 작업을 등록합니다. |
CertSrvRestoreRegisterComplete | 이전에 등록된 복원 작업을 완료합니다. |
CertSrvRestoreRegisterThroughFile | 복원 작업을 등록합니다. |
CertSrvServerControl | 인증서 서비스 instance 제어 명령을 보냅니다. |
콜백 함수
이 섹션의 콜백 함수는 애플리케이션 정의 인증서 저장소 공급자를 등록하거나 설치하고 콜백 함수를 통해 관련 기능을 제공하는 데 사용됩니다. 콜백 함수는 애플리케이션에서 구현되며 CryptoAPI 함수에 의해 호출됩니다. 콜백 함수를 사용하면 애플리케이션이 CryptoAPI 함수가 데이터를 조작하는 방식을 부분적으로 제어할 수 있습니다.
콜백 함수 | 사용 |
---|---|
CertChainFindByIssuerCallback | 애플리케이션이 인증서 체인에 추가될 수 있는 인증서를 필터링할 수 있도록 하는 애플리케이션 정의 콜백 함수입니다. |
CertDllOpenStoreProv | 저장소 공급자 열기 함수를 정의합니다. |
CertEnumPhysicalStoreCallback | CertEnumPhysicalStore 함수에서 검색된 각 실제 저장소에 대한 정보를 서식을 지정하고 표시하는 데 사용하는 콜백 함수입니다. |
CertEnumSystemStoreCallback | CertEnumSystemStore 함수에서 검색된 각 물리적 저장소에 대한 정보를 서식을 지정하고 표시하는 데 사용하는 콜백 함수입니다. |
CertEnumSystemStoreLocationCallback | CertEnumSystemStoreLocation 함수에서 검색된 각 물리적 저장소에 대한 정보를 서식을 지정하고 표시하는 데 사용하는 콜백 함수입니다. |
CertStoreProvCloseCallback | 열린 저장소의 참조 수가 0이 되면 어떻게 되는지 결정합니다. |
CertStoreProvControl | 사용 중인 캐시된 저장소의 콘텐츠와 스토리지에 유지되는 해당 저장소의 콘텐츠 간에 차이가 있는 경우 애플리케이션에 알림을 받을 수 있습니다. |
CertStoreProvDeleteCertCallback | 인증서 저장소에서 인증서를 삭제하기 전에 수행할 작업을 결정합니다. |
CertStoreProvDeleteCRLCallback | 인증서 저장소에서 CRL( 인증서 해지 목록 )을 삭제하기 전에 수행할 작업을 결정합니다. |
CertStoreProvDeleteCTL | CTL을 삭제할 수 있는지 여부를 결정합니다. |
CertStoreProvFindCert | 지정된 조건과 일치하는 저장소에서 첫 번째 인증서 또는 다음 인증서를 찾습니다. |
CertStoreProvFindCRL | 지정된 조건과 일치하는 저장소에서 첫 번째 또는 다음 CRL을 찾습니다. |
CertStoreProvFindCTL | 지정된 조건과 일치하는 저장소에서 첫 번째 또는 다음 CTL을 찾습니다. |
CertStoreProvFreeFindCert | 이전에 찾은 인증서 컨텍스트를 해제합니다. |
CertStoreProvFreeFindCRL | 이전에 찾은 CRL 컨텍스트를 해제합니다. |
CertStoreProvFreeFindCTL | 이전에 찾은 CTL 컨텍스트를 해제합니다. |
CertStoreProvGetCertProperty | 인증서의 지정된 속성을 검색합니다. |
CertStoreProvGetCRLProperty | CRL의 지정된 속성을 검색합니다. |
CertStoreProvGetCTLProperty | CTL의 지정된 속성을 검색합니다. |
CertStoreProvReadCertCallback | 현재 사용되지 않지만 향후 CSP로 내보낼 수 있습니다. |
CertStoreProvReadCRLCallback | 현재 사용되지 않지만 향후 CSP로 내보낼 수 있습니다. |
CertStoreProvReadCTL | 공급자의 CTL 컨텍스트 복사본을 읽고 있는 경우 새 CTL 컨텍스트를 만듭니다. |
CertStoreProvSetCertPropertyCallback | CertSetCertificateContextProperty 또는 CertGetCertificateContextProperty를 호출하기 전에 수행할 작업을 결정합니다. |
CertStoreProvSetCRLPropertyCallback | CertSetCRLContextProperty 또는 CertGetCRLContextProperty를 호출하기 전에 수행할 작업을 결정합니다. |
CertStoreProvSetCTLProperty | CTL에서 속성을 설정할 수 있는지 여부를 결정합니다. |
CertStoreProvWriteCertCallback | 저장소에 인증서를 추가하기 전에 수행할 작업을 결정합니다. |
CertStoreProvWriteCRLCallback | 저장소에 CRL을 추가하기 전에 수행할 작업을 결정합니다. |
CertStoreProvWriteCTL | CTL을 저장소에 추가할 수 있는지 여부를 결정합니다. |
CRYPT_ENUM_KEYID_PROP | CryptEnumKeyIdentifierProperties 함수에서 사용하는 콜백 함수입니다. |
CRYPT_ENUM_OID_FUNCTION | CryptEnumOIDFunction 함수에서 사용하는 콜백 함수입니다. |
CRYPT_ENUM_OID_INFO | CryptEnumOIDInfo 함수에서 사용하는 콜백 함수입니다. |
CryptGetSignerCertificateCallback | 메시지 서명자의 인증서를 가져와서 확인하기 위해 CRYPT_VERIFY_MESSAGE_PARA 구조와 함께 사용되는 콜백 함수입니다. |
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC | CryptImportPKCS8 함수에서 사용하는 콜백 함수입니다. |
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC | CRYPT_ENCRYPTED_PRIVATE_KEY_INFO 구조를 만들 때 사용되는 콜백 함수입니다. |
PCRYPT_RESOLVE_HCRYPTPROV_FUNC | CryptImportPKCS8 함수에서 사용하는 콜백 함수입니다. |
PFN_CDF_PARSE_ERROR_CALLBACK | CDF(카탈로그 정의 파일)를 구문 분석하는 동안 카탈로그 정의 함수 오류를 호출하는 사용자 정의 함수입니다. |
PFN_CERT_CREATE_CONTEXT_SORT_FUNC | 컨텍스트를 만들 때 정렬된 각 컨텍스트 항목에 대해 호출됩니다. |
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY | 이미 암호가 해독된 CEK(콘텐츠 암호화 키)를 가져오기 위한 CNG OID( 개체 식별자 ) 설치 가능한 함수입니다. |
PFN_CMSG_CNG_IMPORT_KEY_AGREE | 봉투 메시지의 키 전송 받는 사람에 대한 콘텐츠 암호화 키를 가져옵니다. |
PFN_CMSG_CNG_IMPORT_KEY_TRANS | CEK(키 전송 수신자, 암호화된 콘텐츠 암호화 키)의 가져오기 및 암호 해독을 위한 CNG OID 설치 가능 함수입니다. |
PFN_CMSG_EXPORT_KEY_AGREE | 봉투 메시지의 키 계약 수신자에 대한 콘텐츠 암호화 키를 암호화하고 내보냅니다. |
PFN_CMSG_EXPORT_KEY_TRANS | 봉투 메시지의 키 전송 수신자에 대한 콘텐츠 암호화 키를 암호화하고 내보냅니다. |
PFN_CMSG_EXPORT_MAIL_LIST | 봉투 메시지의 메일 그룹 수신자에 대한 콘텐츠 암호화 키를 암호화하고 내보냅니다. |
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY | 봉투 메시지의 콘텐츠를 암호화하는 데 사용되는 대칭 키를 생성합니다. |
PFN_CMSG_IMPORT_KEY_AGREE | 봉투 메시지의 키 전송 받는 사람에 대한 콘텐츠 암호화 키를 가져옵니다. |
PFN_CMSG_IMPORT_KEY_TRANS | 봉투 메시지의 키 전송 받는 사람에 대한 콘텐츠 암호화 키를 가져옵니다. |
PFN_CMSG_IMPORT_MAIL_LIST | 봉투 메시지의 키 전송 받는 사람에 대한 콘텐츠 암호화 키를 가져옵니다. |
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC | 공개 키 BLOB을 내보내고 인코딩하기 위해 CryptExportPublicKeyInfoEx 에서 호출됩니다. |
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC | 해시 알고리즘 식별자와 선택적으로 서명 매개 변수를 디코딩하고 반환하기 위해 호출됩니다. |
PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC | 계산된 해시에 서명하고 인코딩하기 위해 호출됩니다. |
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC | 인코딩된 서명을 해독하고 계산된 해시와 비교하기 위해 호출됩니다. |
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC | 공개 키 알고리즘 식별자를 디코딩하고, 알고리즘 공급자를 로드하고, 키 쌍을 가져오기 위해 CryptImportPublicKeyInfoEx2에서 호출됩니다. |
PFNCCERTDISPLAYPROC | CryptUIDlgSelectCertificate 함수의 호출자가 사용자가 보도록 선택한 인증서 표시를 처리할 수 있도록 하는 사용자 정의 콜백 함수입니다. |
PFNCMFILTERPROC | 각 인증서를 필터링하여 CertSelectCertificate 함수가 표시하는 인증서 선택 대화 상자에 표시할지 여부를 결정합니다. |
PFNCMHOOKPROC | CertSelectCertificate 함수에서 생성된 인증서 선택 대화 상자에서 메시지를 처리하기 전에 호출됩니다. |
카탈로그 정의 함수
이러한 함수는 카탈로그를 만드는 데 사용됩니다. 이러한 모든 함수는 MakeCat에서 호출됩니다.
기능 | 설명 |
---|---|
CryptCATCDFClose | 카탈로그 정의 파일을 닫고 해당 CRYPTCATCDF 구조체에 대한 메모리를 해제합니다. |
CryptCATCDFEnumAttributesWithCDFTag | CDF의 CatalogFiles 섹션에서 멤버 파일의 특성을 열거합니다. |
CryptCATCDFEnumCatAttributes | CDF의 CatalogHeader 섹션 내에서 카탈로그 수준 특성을 열거합니다. |
CryptCATCDFEnumMembersByCDFTagEx | CDF의 CatalogFiles 섹션에서 개별 파일 멤버를 열거합니다. |
CryptCATCDFOpen | 읽기 위해 기존 CDF를 열고 CRYPTCATCDF 구조를 초기화합니다. |
카탈로그 함수
이러한 함수는 카탈로그를 관리하는 데 사용됩니다.
기능 | 설명 |
---|---|
CryptCATAdminAcquireContext | 카탈로그 관리자 컨텍스트에 대한 핸들을 가져옵니다. 이 핸들은 CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHash 및 CryptCATAdminRemoveCatalog 함수에 대한 후속 호출에서 사용할 수 있습니다. |
CryptCATAdminAcquireContext2 | 지정된 해시 알고리즘 및 해시 정책에 대한 카탈로그 관리자 컨텍스트에 대한 핸들을 가져옵니다. |
CryptCATAdminAddCatalog | 카탈로그 데이터베이스에 카탈로그를 추가합니다. |
CryptCATAdminCalcHashFromFileHandle | 파일의 해시를 계산합니다. |
CryptCATAdminCalcHashFromFileHandle2 | 지정된 알고리즘을 사용하여 파일의 해시를 계산합니다. |
CryptCATAdminEnumCatalogFromHash | 지정된 해시를 포함하는 카탈로그를 열거합니다. |
CryptCATAdminReleaseCatalogContext | 이전에 CryptCATAdminAddCatalog 함수에서 반환한 카탈로그 컨텍스트에 대한 핸들을 해제합니다. |
CryptCATAdminReleaseContext | 이전에 CryptCATAdminAcquireContext 함수에서 할당한 핸들을 해제합니다. |
CryptCATAdminRemoveCatalog | 카탈로그 파일을 삭제하고 Windows 카탈로그 데이터베이스에서 해당 카탈로그의 항목을 제거합니다. |
CryptCATAdminResolveCatalogPath | 지정된 카탈로그의 정규화된 경로를 검색합니다. |
CryptCATCatalogInfoFromContext | 지정된 카탈로그 컨텍스트에서 카탈로그 정보를 검색합니다. |
CryptCATClose | 이전에 CryptCATOpen 함수에서 연 카탈로그 핸들을 닫습니다. |
CryptCATEnumerateAttr | 카탈로그의 멤버와 연결된 특성을 열거합니다. |
CryptCATEnumerateCatAttr | 카탈로그와 연결된 특성을 열거합니다. |
CryptCATEnumerateMember | 카탈로그의 멤버를 열거합니다. |
CryptCATGetAttrInfo | 카탈로그 멤버의 특성에 대한 정보를 검색합니다. |
CryptCATGetMemberInfo | 카탈로그의 PKCS #7에서 멤버 정보를 검색합니다. 이 함수는 지정된 참조 태그에 대한 멤버 정보를 검색하는 것 외에도 멤버 컨텍스트를 엽니다. |
CryptCATOpen | 카탈로그를 열고 열려 있는 카탈로그에 대한 컨텍스트 핸들을 반환합니다. |
IsCatalogFile | 지정된 파일이 카탈로그 파일인지 여부를 나타내는 부울 값을 검색합니다. |
WinTrust 함수
다음 함수는 다양한 신뢰 작업을 수행하는 데 사용됩니다.
기능 | 설명 |
---|---|
WintrustAddActionID | 사용자 시스템에 신뢰 공급자 작업을 추가합니다. |
WintrustGetRegPolicyFlags | 정책 공급자에 대한 정책 플래그를 검색합니다. |
WintrustAddDefaultForUsage | 공급자에 대한 기본 사용 식별자 및 콜백 정보를 지정합니다. |
WintrustGetDefaultForUsage | 기본 사용 식별자 및 콜백 정보를 검색합니다. |
WintrustLoadFunctionPointers | 지정된 작업 GUID에 대한 함수 진입점을 로드합니다. |
WintrustRemoveActionID | WintrustAddActionID 함수에 의해 추가된 작업을 제거합니다. |
WintrustSetDefaultIncludePEPageHashes | 이식 가능한 실행 파일에 대한 SIP(주체 인터페이스 패키지) 간접 데이터를 만들 때 페이지 해시가 포함되는지 여부를 결정하는 기본 설정을 설정합니다. |
WintrustSetRegPolicyFlags | 정책 공급자에 대한 정책 플래그를 설정합니다. |
WinVerifyTrust | 지정된 개체에 대해 트러스트 확인 작업을 수행합니다. |
WinVerifyTrustEx | 지정된 개체에 대한 신뢰 확인 작업을 수행하고 WINTRUST_DATA 구조체에 대한 포인터를 사용합니다. |
WTHelperCertCheckValidSignature | 서명이 유효한지 여부를 확인합니다. |
WTHelperCertFindIssuerCertificate | 지정된 주체 인증서와 일치하는 지정된 인증서 저장소에서 발급자 인증서를 찾습니다. |
WTHelperCertIsSelfSigned | 인증서가 자체 서명되었는지 여부를 확인합니다. |
WTHelperGetFileHash | 서명된 파일의 서명을 확인하고 파일에 대한 해시 값 및 알고리즘 식별자를 가져옵니다. |
WTHelperGetProvCertFromChain | 인증서 체인에서 트러스트 공급자 인증서를 검색합니다. |
WTHelperGetProvPrivateDataFromChain | 공급자 ID를 사용하여 체인에서 CRYPT_PROVIDER_PRIVDATA 구조를 받습니다. |
WTHelperGetProvSignerFromChain | 체인에서 인덱스로 서명자 또는 카운터시너를 검색합니다. |
WTHelperProvDataFromStateData | 지정된 핸들에서 트러스트 공급자 정보를 검색합니다. |
개체 로케이터 함수
다음 콜백 함수는 인증서를 검색하기 위해 보안 채널(Schannel) 보안 패키지에서 호출하려는 사용자 지정 공급자에 의해 구현될 수 있습니다.
기능 | 설명 |
---|---|
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH | 개체가 변경되었음을 지정합니다. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET | 개체를 검색합니다. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE | 공급자를 해제합니다. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD | PFX 바이트 배열을 암호화하는 데 사용되는 암호를 해제합니다. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE | 공급자가 반환한 개체를 해제합니다. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER | 개체 식별자에 대한 메모리를 해제합니다. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE | 공급자를 초기화합니다. |