有一个项目需要php通过openssl 生产rsa蜜月供android和ios使用。目前已经调试两天了,android那边使用密钥的时候一直有问题。
1 2 | <code> X509EncodedKeySpec expects DER-encoded data, not PEM-encoded
</code>
|
登录后复制
登录后复制
这个是android遇到的其中一个报错信息
下面是我的生成密钥的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <code>
$config = array (
'private_key_bits' => $length ,
'private_key_type' => OPENSSL_KEYTYPE_RSA
);
$pkGenerate = openssl_pkey_new( $config );
openssl_pkey_export( $pkGenerate , $pkGeneratePrivate );
$pkGenerateDetails = openssl_pkey_get_details( $pkGenerate );
$pkGeneratePublic = $pkGenerateDetails [ 'key' ];
openssl_pkey_free( $pkGenerate );
$pkImport = openssl_pkey_get_private( $pkGeneratePrivate );
$pkImportDetails = openssl_pkey_get_details( $pkImport );
$pkImportPublic = $pkImportDetails [ 'key' ];
openssl_pkey_free( $pkImport );
return array ( 'public' => $pkGeneratePublic , 'private' => $pkGeneratePrivate );
</code>
|
登录后复制
登录后复制
之前对rsa加密没什么了解,今天是第一次使用,又遇到这个跨语言的问题。我自己是可以使用生成的密钥进行加密和解密的。
请了解相关问题的人指点一下。
这里有篇文章和我问的问题很相似,但是我对rsa,openssl不太熟悉,所以文章里面说的东西我也看不懂,供能看懂的人参考一下。
http://security.stackexchange.com/questions/15948/how-to-supply-openssl-generated-private-public-keys-to-ios-android-apps
回复内容:
有一个项目需要php通过openssl 生产rsa蜜月供android和ios使用。目前已经调试两天了,android那边使用密钥的时候一直有问题。
1 2 | <code> X509EncodedKeySpec expects DER-encoded data, not PEM-encoded
</code>
|
登录后复制
登录后复制
这个是android遇到的其中一个报错信息
下面是我的生成密钥的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <code>
$config = array (
'private_key_bits' => $length ,
'private_key_type' => OPENSSL_KEYTYPE_RSA
);
$pkGenerate = openssl_pkey_new( $config );
openssl_pkey_export( $pkGenerate , $pkGeneratePrivate );
$pkGenerateDetails = openssl_pkey_get_details( $pkGenerate );
$pkGeneratePublic = $pkGenerateDetails [ 'key' ];
openssl_pkey_free( $pkGenerate );
$pkImport = openssl_pkey_get_private( $pkGeneratePrivate );
$pkImportDetails = openssl_pkey_get_details( $pkImport );
$pkImportPublic = $pkImportDetails [ 'key' ];
openssl_pkey_free( $pkImport );
return array ( 'public' => $pkGeneratePublic , 'private' => $pkGeneratePrivate );
</code>
|
登录后复制
登录后复制
之前对rsa加密没什么了解,今天是第一次使用,又遇到这个跨语言的问题。我自己是可以使用生成的密钥进行加密和解密的。
请了解相关问题的人指点一下。
这里有篇文章和我问的问题很相似,但是我对rsa,openssl不太熟悉,所以文章里面说的东西我也看不懂,供能看懂的人参考一下。
http://security.stackexchange.com/questions/15948/how-to-supply-openssl-generated-private-public-keys-to-ios-android-apps