问题描述
我已经生成与PHP(OpenSSL的)RSA密钥。它workes罚款。我用这个PHP脚本来创建密钥:
$配置=阵列(
digest_alg=> SHA512
private_key_bits=> 2048,
private_key_type=> OPENSSL_KEYTYPE_RSA,
);
$键= openssl_pkey_new($配置);
$ privateKey = openssl_pkey_get_private($键);
$细节= openssl_pkey_get_details($ privateKey);
$公钥= $细节['关键'];
openssl_pkey_export_to_file($ privateKey,'private.pem');
的file_put_contents('public.der',$公钥);
现在我想的Android / Java的加载项(public.der和private.pem)。但我不知道该怎么RSA密钥的格式,因为。我觉得public.der可以在(Android中)资产的文件夹。
我不会存储属于同一设备上的私钥的公钥。
编辑:的public.der文件的内容:
----- BEGIN PUBLIC KEY -----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAog / 07W7tF / 7 / tugWy5Fe
cyGMnwbvqYbyPVBJ8 / 08nZS79sZfROAuxrGz4CJMosCJp9MZdDiwKuLNaQ9Pbayz
mOq6sQ2XpGFDhqrVJJaw3R + oq8dWgtnyZcRs9MvUYVOOltqXV / NVV + X + JECqx8Pz
WiEim6mQtIbcjQ78hZhiC3kZeRIa17YVM / Yagu4tGne / F6gQaMvA + ZSWJIj5mvU1
UOuuCsCsTF5HQbrgWTH7P + ZB3andvPDnih9eNeeplxcVwk1KKdtkn7l1a8t7YYVW
eJtmtfd + sgjeCRDSqh1DNtDTanHOILunGBPZ85bN9dLZ3v5YJeQX4LL5R2jqy3ti
owIDAQAB
----- END PUBLIC KEY -----
问题load RSA公钥从文件有详细答案的问题如何DER-EN codeD密钥加载到Java应用程序。
和问题<一个href=\"http://stackoverflow.com/questions/7216969/getting-rsa-private-key-from-pem-base64-en$c$cd-private-key-file#7221381\">Getting从PEM BASE64恩codeD私钥文件RSA私钥介绍加载PEM-CN codeD公钥到Java应用程序。
I have generated a RSA key with PHP (openssl). It workes fine. I used this PHP script to create the keys:
$config = array(
"digest_alg" => "sha512",
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
);
$keys = openssl_pkey_new($config);
$privateKey = openssl_pkey_get_private($keys);
$details = openssl_pkey_get_details($privateKey);
$publicKey = $details['key'];
openssl_pkey_export_to_file($privateKey, 'private.pem');
file_put_contents('public.der', $publicKey);
Now I would like to load the keys (public.der and private.pem) by Android/Java. But I do not know how because of the format of the RSA key. I think the public.der can be in the assets folder (in Android).
I will not store the public key which belongs to the private key on the same device.
Edit: The content of the public.der file:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAog/07W7tF/7/tugWy5Fe
cyGMnwbvqYbyPVBJ8/08nZS79sZfROAuxrGz4CJMosCJp9MZdDiwKuLNaQ9Pbayz
mOq6sQ2XpGFDhqrVJJaw3R+oq8dWgtnyZcRs9MvUYVOOltqXV/NVv+X+JECqx8Pz
WiEim6mQtIbcjQ78hZhiC3kZeRIa17YVM/Yagu4tGne/F6gQaMvA+ZSWJIj5mvU1
UOuuCsCsTF5HQbrgWTH7P+ZB3andvPDnih9eNeeplxcVwk1KKdtkn7l1a8t7YYVW
eJtmtfd+sgjeCRDSqh1DNtDTanHOILunGBPZ85bN9dLZ3v5YJeQX4LL5R2jqy3ti
owIDAQAB
-----END PUBLIC KEY-----
Question "load RSA public Key From File" has a detailed answer to the question how to load DER-encoded keys into Java application.
And question "Getting RSA private key from PEM BASE64 Encoded private key file" describes loading PEM-encoded public key into Java application.
这篇关于负载产生的OpenSSL Android中/ Java的RSA密钥?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!