rsa ios php,php,rsa_php openssl生成的rsa密钥给android和ios使用注意哪些问题?,php,rsa,android,ios,openssl - phpStudy...

本文探讨了PHP使用openssl库生成RSA密钥并供Android和iOS应用使用时遇到的问题。主要错误为`X509EncodedKeySpec expects DER-encoded data, not PEM-encoded`。代码示例展示了如何生成和导出PEM格式的密钥。解决跨平台加密问题时,需确保密钥格式正确转换。同时,文章提及了相关资源和可能的解决方案。
摘要由CSDN通过智能技术生成

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 array('public'=>$pkGeneratePublic,'private'=>$pkGeneratePrivate);

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

请了解相关问题的人指点一下。

这里有篇文章和我问的问题很相似,但是我对rsa,openssl不太熟悉,所以文章里面说的东西我也看不懂,供能看懂的人参考一下。

http://security.stackexchange.com/questions/15948/how-to-supply-openssl-generated-private-public-keys-to-ios-android-apps

相关阅读:

sublime text 能不能在css中提示html中定义的id和class?

mysql-proxy这种工具是属于中间件的范畴吗?

使用react-bootstrap组件报错

PHP程序员必须在linux下开发PHP程序吗?

如何封装常用的JS方法?

react native 怎么在类里的setState改变数据之后export

php的拓展如何编译一下给其他语言用?

vagrant up启动花了3小时还没启动完,这是作死的节奏么?

看了两篇关于优化程序的帖子,其中读到有关全局变量产生的疑惑

有没有基于chrome的开源的pc和手机端的浏览器?

JS调用OC方法,调转不同url,方法不执行

jQuery绑定下拉菜单onchange事件的问题,用到了闭包

如何查找Git服务器上的操作历史记录

在前端中 在浏览器中输入一个网址 从输入到页面显示出来 是个什么样的过程

如何让一个div永远出现在界面的最底部

这个js的转义哪里用错了呀?为什么没起作用

java中对象上转型和接口回调的意义是什么?

Object-C +函数和-函数有什么区别

为什么bootstrap的dropdown按f5刷新,会自动弹出菜单呢?

gcc的yum源怎么添加?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值