나는 C++에서 WinCrypt API을 사용하려고합니다.CryptoAPI/WinCrypt : C++에서 PEM 파일의 개인 키를 가져 오는 방법은 무엇입니까?
내 응용 프로그램은 파일을 암호화하고, 해독하고, 서명하고 확인해야하며 올바른 키가 있으면이를 수행하는 방법을 알고 있습니다. 하지만 내 문제는 실제로 그 키를 생성하는 동일한 응용 프로그램이 아닙니다.
그리고 : 나는 PEM 형식의 파일에서 공개 키와 개인 키입니다 무엇을 가지고
몇 가지 조사 후
-----BEGIN RSA PUBLIC KEY-----
[Base64 encoded]
-----END RSA PUBLIC KEY-----
, 나는 공개 키를 가져 오는 방법을 발견했다 : here 및 here, 다음 방법을 사용하십시오.
- CreateFile에 & ReadFile을이 형식을 DER하는 PEM 형식에서 변환 할 CRYPT_STRING_BASE64HEADER으로,
- CryptStringToBinary 파일 내용을 읽을 수 X509_PUBLIC_KEY_INFO와
- CryptDecodeObjectEx (64 기수에서 머리글과 바닥 글 및 디코딩을 제거)
- CryptImportPublicKeyInfo, 키를 가져 오는 중
내 문제는 개인 키과 똑같은 일을하는 것입니다. 도움이 정말 정말 감사하겠습니다 :) 감사합니다.
Crypto API는 독점 암호화를위한 것으로 PGP는 단지 위어가 사용됩니다. – marinara
예, 확실합니다. 그러나 사실 키의 형식을 선택할 필요가 없습니다./그렇지 않으면 독점 형식의 CryptoAPI를 선택했을 것입니다. 그러나 공개 키 가져 오기가 PEM 형식에서 가능하므로 개인 키를 사용하여 가져올 수도 있다고 생각했습니다. – nikloskoda