RSAを使用して2つのアプリケーションを互いに通信させようとしています。1 つ目は C++ で、2 つ目は Java です。まず、公開鍵を Java アプリケーションに送信する必要があります。私は使用しています
CryptExportKey(m_hCryptKey, NULL, PUBLICKEYBLOB, 0, pbKeyBlob, &dwBlobLen);
このための関数。Javaアプリケーションでは、この関数を使用してインポートしようとしていました:
public PublicKey getPublicKeyFromBytes(byte[] keyBytes) throws NoSuchAlgorithmException, InvalidKeySpecException {
KeyFactory keyFactory;
keyFactory = KeyFactory.getInstance("RSA");
X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(keyBytes);
return keyFactory.generatePublic(pubKeySpec);
}
InvalidKeySpecException をスローします。キーをインポート/エクスポートする方法を教えてください。