(android) php openssl生成的rsa密钥给android和ios使用注意哪些问题?

有一个项目需要php通过openssl 生产rsa蜜月供android和ios使用。目前已经调试两天了,android那边使用密钥的时候一直有问题。

 X509EncodedKeySpec expects DER-encoded data, not PEM-encoded

这个是android遇到的其中一个报错信息

下面是我的生成密钥的代码

 // generate 2048-bit RSA key $config = array private_key_bits => $length, private_key_type => OPENSSL_KEYTYPE_RSA ; $pkGenerate = openssl_pkey_new$config; // get the private key openssl_pkey_export$pkGenerate,$pkGeneratePrivate; // NOTE: second argument is passed by reference // get the public key $pkGenerateDetails = openssl_pkey_get_details$pkGenerate; $pkGeneratePublic = $pkGenerateDetails[key]; // free resources openssl_pkey_free$pkGenerate; // fetch/import public key from PEM formatted string // remember $pkGeneratePrivate now is PEM formatted... // this is an alternative method from the public retrieval in previous $pkImport = openssl_pkey_get_private$pkGeneratePrivate; // import $pkImportDetails = openssl_pkey_get_details$pkImport; // same as getting the public key in previous $pkImportPublic = $pkImportDetails[key]; openssl_pkey_free$pkImport; // clean up return arraypublic=>$pkGeneratePublic,private=>$pkGeneratePrivate;

之前对rsa加密没什么了解,今天是第一次使用,又遇到这个跨语言的问题。我自己是可以使用生成的密钥进行加密和解密的。
请了解相关问题的人指点一下。

这里有篇文章和我问的问题很相似,但是我对rsa,openssl不太熟悉,所以文章里面说的东西我也看不懂,供能看懂的人参考一下。
http://security.stackexchange.com/questions/15948/how-to-supply-openssl-generated-private-public-keys-to-ios-android-apps

发表评论

电子邮件地址不会被公开。 必填项已用*标注