15バイトの配列を暗号化したい。問題は、暗号文を同じサイズにしたいことです。
私がしたこと
- 証明書の作成: makecert.exe -n "CN=me" -sv PrivateKey.pvk -pe Certificate.cer
このコードを記述して、証明書をインポートし、プレーン テキストを暗号化します。
BYTE FileContent[1024]; DWORD dwActualFileLen = 0; HANDLE hCertFile; if(CryptAcquireContext(&m_hCryptProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0)) { hCertFile = CreateFileA("C:\\projects\\Certificate.cer", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); ReadFile(hCertFile, FileContent, 1024, &dwActualFileLen, NULL); m_CertContext = CertCreateCertificateContext(X509_ASN_ENCODING, FileContent, dwActualFileLen); CryptImportPublicKeyInfo(m_hCryptProv, X509_ASN_ENCODING, &m_CertContext->pCertInfo->SubjectPublicKeyInfo, &m_hPubKey); } CryptEncrypt(m_hPubKey, NULL, TRUE, 0, tempBuffer, &dwNewLen, 128);
暗号文は常に 128 バイトです。強制的にプレーンテキストと同じサイズにしたい。