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 | 지정된 서명이 지정된 해시와 일치하는지 확인합니다. |