다음을 통해 공유


키 가져오기 및 내보내기

CNG를 사용하여 대칭 키 및 비대칭 키를 가져오고 내보낼 수 있습니다. 또한 키 내보내기 및 가져오기 기능을 사용하여 컴퓨터 간에 키를 이동할 수 있습니다.

대칭 키

동일한 키를 사용하여 일부 데이터를 암호화하고 암호 해독하는 데 사용되는 대칭(또는 세션) 키를 가져오거나 내보내려면 BCryptImportKey 사용하고 BCryptExportKey함수를수 있습니다. 일반적으로 BCryptImportKey 함수를 사용하여 가져오기 전에 먼저 BCryptExportKey 함수를 사용하여 키를 내보냅니다. 함수는 hExportKeyhImportKey 매개 변수를 사용하여 내보내고 가져온 키의 암호화를 사용하도록 설계되었습니다. 그러나 이러한 함수의 Microsoft 구현은 내보낸 키와 가져온 키의 암호화를 지원하지 않습니다.

비대칭 키

한 키를 암호화하는 데 사용되고 다른 키는 일부 데이터의 암호를 해독하는 데 사용되는 비대칭(또는 퍼블릭/프라이빗) 키 쌍을 가져오려면 BCryptImportKeyPair 또는 NCryptImportKey함수를사용할 수 있습니다. CNG 공급자는 지원되는 키 BLOB 형식을 사용하여 키 쌍을 인코딩해야 합니다. BCryptExportKey 사용하여 인코딩된 키 BLOB을 만들 수 있습니다. CNG 구조 Microsoft Key Storage 공급자가 지원하는 키 BLOB 형식 및 구조체에 대해 설명합니다.

BCryptExportKey 지속형 키 쌍을 만들려면 입력 키 BLOB에 프라이빗 키포함되어야 합니다. 공개 키 유지되지 않습니다.

키 이름 및 내보내기 정책은 CNG 구조정의된 BLOB 구조체의 일부가 아닙니다. 그러나 BLOB이 불투명 BLOB 형식(예: 내부 키 상태의 메모리 이미지)인 경우 BLOB에는 키 이름과 내보내기 정책 속성이 포함될 수 있습니다.

다음 절차에서는 해당 속성을 사용하여 지속형 프라이빗 키를 가져오는 방법을 설명합니다.

지속형 키 가져오려면

  1. NCryptCreatePersistedKey 함수를 사용하여 지속형 키를 만듭니다.
  2. NCryptSetProperty 함수를 사용하여 키 개체에 원하는 속성을 설정합니다.
  3. BLOB 형식을 속성 이름으로 사용하여 가져오기 키 BLOB을 키의 속성으로 설정합니다.
  4. NCryptFinalizeKey 함수를 사용하여 지속형 키 가져오기를 완료합니다.