Tôi đang cố gắng triển khai Mã hóa RSA trong cả Java và PHP, nhưng dường như tôi không thể nhận PHP để nhận ra các khóa công khai/riêng tư Java của tôi. Đây là đoạn mã java để Mã hóa/Giải mã công cộng và phím cá nhân:Mã hóa RSA: Java tới PHP
public static byte[] EncodePublicKey(PublicKey _publickey) throws Exception
{
return _publickey.getEncoded();
}
public static PublicKey DecodePublicKey(byte[] _encodedkey) throws Exception
{
KeyFactory fac = KeyFactory.getInstance("RSA");
X509EncodedKeySpec encodedKey = new X509EncodedKeySpec(_encodedkey);
return fac.generatePublic(encodedKey);
}
public static byte[] EncodePrivateKey(PrivateKey _privatekey) throws Exception
{
return _privatekey.getEncoded();
}
public static PrivateKey DecodePrivateKey(byte[] _encodedkey) throws Exception
{
KeyFactory fac = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec encodedKey = new PKCS8EncodedKeySpec(_encodedkey);
return fac.generatePrivate(encodedKey);
}
đầu tiên tôi cố gắng sử dụng các chức năng PEAR Crypt_RSA, nhưng nó không hỗ trợ X.509 hoặc PKCS8 (nó chỉ đơn giản là base64 mã hóa các serialized modulus, exponent và key type). Sau đó, tôi đã thử chức năng OpenSSL "openssl_get_publickey" nhưng nó cũng không xuất hiện để nhận ra định dạng này.
Bất kỳ trợ giúp sẽ được đánh giá rất o.o
Làm cách nào để chuyển đổi mã hóa ASN.1 sang định dạng PEM trong PHP? – user201117
Cập nhật câu trả lời của tôi sau khi tìm thấy liên kết ở trên ... – jheddings
Điều này đã hiệu quả! Thanks =) – user201117