java - 在使用 OpenSSL 生成的 Android/Java 中加载 RSA key ?

标签 java php android openssl rsa

<分区>

我已经用 PHP (openssl) 生成了一个 RSA key 。它工作正常。我使用这个 PHP 脚本来创建 key :

$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);

现在我想通过 Android/Java 加载 key (public.der 和 private.pem)。但我不知道如何,因为 RSA key 的格式。我认为 public.der 可以在 Assets 文件夹中(在 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 public Key From File”对如何将 DER 编码的 key 加载到 Java 应用程序的问题有详细的回答。

问题“Getting RSA private key from PEM BASE64 Encoded private key file”描述了将 PEM 编码的公钥加载到 Java 应用程序中。

关于java - 在使用 OpenSSL 生成的 Android/Java 中加载 RSA key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21812713/

相关文章:

android - 使用新的 API 21 获取相机预览

java - 将服务设置为从 Android 中的按钮调用

java - JTextArea 中的插入符号位置已关闭

java - 将字符串转换为日历。最简单的方法是什么?

java - mule Junit 测试代码中出现 "muleContext cannot be resolved"错误

java - 如何确定 reducer 的值(value)?

PHP:如何从大文件中删除最后 N 个字节?

php - 比较没有日期的时间

php - 由 Jquery (AJAX) 在服务器的 PHP 代码中发送的调试变量

Android 4.4 (KitKat) 上的 Android Gallery 为 Intent.ACTION_GET_CONTENT 返回不同的 URI