다음을 통해 공유


VBS Enclave에서 사용할 수 있는 Bcrypt API

적용 대상:✅ Windows 11 빌드 26100.2314 이상 ✅ Windows Server 2025 이상

Enclave는 신뢰할 수 있는 실행 환경을 만드는 데 사용됩니다. 이러한 Bcrypt API는 VBS Enclave의 개발자가 사용할 수 있습니다.

Bcrypt.h API 목록

bcrypt.h 헤더 파일의 다음 API는 VBS enclave에서 호출할 수 있습니다.

API 설명
BCRYPT_INIT_AUTH_MODE_INFO BCryptEncrypt 및 BCryptDecrypt 함수 호출에 사용할 BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO 구조를 초기화합니다.
BCryptAddContextFunction 기존 CNG 컨텍스트에서 지원하는 함수 목록에 암호화 함수를 추가합니다.
BCryptCloseAlgorithmProvider 알고리즘 공급자를 닫습니다.
BCryptConfigureContext 기존 CNG 컨텍스트에 대한 구성 정보를 설정합니다.
BCryptConfigureContextFunction 기존 CNG 컨텍스트의 암호화 함수에 대한 구성 정보를 설정합니다.
BCryptCreateContext 새 CNG 구성 컨텍스트를 만듭니다.
BCryptCreateHash 해시 또는 MAC(메시지 인증 코드) 개체를 만들기 위해 호출됩니다.
BCryptCreateMultiHash 여러 해시 작업의 병렬 계산을 허용하는 다중 해시 상태를 만듭니다.
BCryptDecrypt 데이터 블록을 해독합니다.
BCryptDeleteContext 기존 CNG 구성 컨텍스트를 삭제합니다.
BCryptDeriveKey 비밀 계약 값에서 키를 파생합니다.
BCryptDeriveKeyCapi 해시 값에서 키를 파생합니다.
BCryptDeriveKeyPBKDF2 RFC 2898에 정의된 대로 PBKDF2 키 파생 알고리즘을 사용하여 해시 값에서 키를 파생합니다.
BCryptDestroyHash 해시 또는 MAC(메시지 인증 코드) 개체를 제거합니다.
BCryptDestroyKey 키를 삭제합니다.
BCryptDestroySecret BCryptSecretAgreement 함수를 사용하여 만든 비밀 계약 핸들을 삭제합니다.
BCryptDuplicateHash 기존 해시 또는 MAC(메시지 인증 코드) 개체를 복제합니다.
BCryptDuplicateKey 대칭 키의 중복을 만듭니다.
BCryptEncrypt 데이터 블록을 암호화합니다.
BCryptEnumAlgorithms 등록된 알고리즘 식별자 목록을 가져옵니다.
BCryptEnumContextFunctionProviders 지정된 구성 테이블의 컨텍스트에 대한 암호화 함수에 대한 공급자를 가져옵니다.
BCryptEnumContextFunctions 지정된 구성 테이블의 컨텍스트에 대한 암호화 함수를 가져옵니다.
BCryptEnumContexts 지정된 구성 테이블에 있는 컨텍스트의 식별자를 가져옵니다.
BCryptEnumProviders 지정된 알고리즘을 지원하는 모든 CNG 공급자를 가져옵니다.
BCryptEnumRegisteredProviders 등록된 공급자에 대한 정보를 검색합니다.
BCryptExportKey 나중에 사용할 수 있도록 유지할 수 있는 메모리 BLOB에 키를 내보냅니다.
BCryptFinalizeKeyPair 퍼블릭/프라이빗 키 쌍을 완료합니다.
BCryptFinishHash BCryptHashData에 대한 이전 호출에서 누적된 데이터에 대한 해시 또는 MAC(메시지 인증 코드) 값을 검색합니다.
BCryptFreeBuffer CNG 함수 중 하나에서 할당한 메모리를 해제하는 데 사용됩니다.
BCryptGenerateKeyPair 빈 공개/프라이빗 키 쌍을 만듭니다.
BCryptGenerateSymmetricKey 제공된 키에서 대칭 키 암호화 알고리즘과 함께 사용할 키 개체를 만듭니다.
BCryptGenRandom 난수를 생성합니다.
BCryptGetFipsAlgorithmmode FIPS(Federal Information Processing Standard) 규정 준수를 사용할 수 있는지 여부를 결정합니다.
BCryptGetProperty CNG 개체의 명명된 속성 값을 검색합니다.
BCryptHash 단일 해시 계산을 수행합니다. BCryptCreateHash, BCryptHashData, BCryptFinishHash 및 BCryptDestroyHash에 대한 호출을 래핑하는 편리한 함수입니다.
BCryptHashData 데이터 버퍼에서 단방향 해시 또는 MAC(메시지 인증 코드)를 수행합니다.
BCryptImportKey 키 BLOB에서 대칭 키를 가져옵니다.
BCryptImportKeyPair 키 BLOB에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.
BCryptKeyDerivation 비밀 계약을 요구하지 않고 키를 파생합니다.
BCryptOpenAlgorithmProvider CNG 공급자를 로드하고 초기화합니다.
BCryptProcessMultiOperations 다중 개체 상태에서 연산 시퀀스를 처리합니다.
BCryptQueryContextConfiguration 지정된 CNG 컨텍스트에 대한 현재 구성을 검색합니다.
BCryptQueryContextFunctionConfiguration 기존 CNG 컨텍스트에 대한 암호화 함수 구성 정보를 가져옵니다.
BCryptQueryContextFunctionProperty 기존 CNG 컨텍스트에서 암호화 함수의 명명된 속성 값을 가져옵니다.
BCryptQueryProviderRegistration CNG 공급자에 대한 정보를 검색합니다.
BCryptRegisterConfigChangeNotify 사용자 모드 CNG 구성 변경 이벤트 처리기를 만듭니다.
BCryptRegisterConfigChangeNotify BCryptRegisterConfigChangeNotify(PRKEVENT) 함수가 커널 모드 CNG 구성 변경 이벤트 처리기를 만드는 방법을 설명합니다.
BCryptRemoveContextFunction 기존 CNG 컨텍스트에서 지원되는 함수 목록에서 암호화 함수를 제거합니다.
BCryptResolveProviders 지정된 조건을 충족하는 모든 공급자의 컬렉션을 가져옵니다.
BCryptSecretAgreement 프라이빗 및 공개 키에서 비밀 계약 값을 만듭니다.
BCryptSetContextFunctionProperty 기존 CNG 컨텍스트에서 암호화 함수의 명명된 속성 값을 설정합니다.
BCryptSetProperty CNG 개체의 명명된 속성 값을 설정합니다.
BCryptSignHash 해시 값의 서명을 만듭니다.
BCryptUnregisterConfigChangeNotify BCryptRegisterConfigChangeNotify(HANDLE*) 함수를 사용하여 만든 사용자 모드 CNG 구성 변경 이벤트 처리기를 제거합니다.
BCryptUnregisterConfigChangeNotify BCryptRegisterConfigChangeNotify(HANDLE*) 함수를 사용하여 만든 사용자 모드 CNG 구성 변경 이벤트 처리기를 제거합니다.
BCryptVerifySignature 지정된 서명이 지정된 해시와 일치하는지 확인합니다.

참고 항목