美文网首页
iOS RSA2048本地生成密钥对

iOS RSA2048本地生成密钥对

作者: 冰雨9527 | 来源:发表于2020-07-17 18:30 被阅读0次

iOS中生成RSA密钥字符串
iOS使用OpenSSL进行RSA加密、验签的心得
RSA_generate_key_ex函数调用中的RSA密钥生成错误
iOS RSA加密解密及签名验证

常见证书格式及相互转换
iOS RSA密钥的生成与转换
iOS 原生生成密钥对(方法一)
openssl 生成密钥对(方法二)

两种方法生成字符串的区别

两种方案生成的密钥其实就是编码方式不同而已,方案一生成的是cer格式的密钥(0x30开头),方案二生成的是PEM格式的密钥(对cer格式的再次封装)但是主要的信息都是有的,只是不同的格式要做不同的解析处理。

问题如何解决

其实对应公钥来说最主要的就是指数和模数,只要有了这两个信息就能进行RSA的加解密操作。并且openssl也提供了通过指数和模数生成公钥的方法,iOS原生系统下也可以通过数据处理将指数和模数生成SecKeyRef
openssl不仅提供了通过指数和模数生成密钥的方法,同时也有生成RSA密钥对,RSA加解密的方法,并且提供了许多原生系统不支持的方法,比如公钥解密。所以,如果需要动态生成密钥对,并且需要把密钥提供给其他平台使用的情况还是选择使用openssl会方便许多。当然,如果只是最数据加解密,或者生成的密钥也是给iOS/OS X平台使用的,那用原生的方式也是可以的。


通过这个函数我们虽然可以得到私钥文件,但是却是PKCS1格式的,但是我需要的是PKCS8格式的。所以需要改用这个函数PEM_write_PKCS8PrivateKey。

5、格式化私钥到pem格式的时候,注意开头和结尾要用如下格式(PKCS#1)

BEGIN RSA PRIVATE KEY------END RSA PRIVATE KEY-----

下面这种格式为(PKCS#8)

BEGIN PRIVATE KEY---一-

BASE64 ENCODED DATA

-----END PRIVATE KEY-----

PKCS#1结构仅为RSA设计。X509,SSL支 持的算法不仅仅是RSA,因此产生了更具有通用性的PKCS#8

本人使用java做后台,后台使用同一公钥文件(格式为ANS.1 DER编码方式 长度为2048模长 ),加密

注意:
加密了的PEM编码PKCS#8文件表单用下面的头部和尾部:
——BEGIN ENCRYPTED PRIVATE KEY——
——END ENCRYPTED PRIVATE KEY——
未加密的表单用:
——BEGIN PRIVATE KEY——
——END PRIVATE KEY——


RSA公私钥对验证
在线生成非对称加密公钥私钥对、在线生成公私钥对、RSA Key pair create、生成RSA密钥对
在线RSA公私密钥校验、RSA公私密钥检查、Online RSA public-private key verification

相关文章

  • iOS RSA2048本地生成密钥对

    iOS中生成RSA密钥字符串iOS使用OpenSSL进行RSA加密、验签的心得RSA_generate_key_e...

  • 0

    ①RSA2048 p10[iOS]通过openssl库生成pkcs#10证书iOS开发——openssl生成CSR...

  • gitlab 配置ssh

    一. 生成ssh密钥对 查看本地已经有 密钥对ls ~/.ssh/ 查看是否生成一下两个文件 生成密钥对ssh-k...

  • 【密钥管理】多组SSH-key密钥对

    本地配置多组密钥对管理 密钥生成 $ ssh-keygen -t rsa -C "youremail@email....

  • Linux 配置 SSH 登陆

    先看看本地有没有ssh密钥对:~/.ssh/id_rsa 没有就用git bash 或者 cmd生成ssh密钥对:...

  • git添加密钥

    在本地生成密钥并查看

  • 阿里云SSH密钥连接

    创建密钥对(开发和生产机器使用不同的密钥对)image.png 生成密钥对后保存在本地,并设置好pem文件权限(权...

  • git ssh 密钥生成以及配置

    检查是否有ssh密钥,没有的时候进行生成 一、本地有密钥时 本地密钥一般存储在:C盘 -> 用户 -> 当前用户 ...

  • github上传文件教程

    很详细 通过 git 工具 Git Bash 上传本地文件夹(本地项目): 判断是否生成密钥: 如果没有密钥,则通...

  • Linux设置SSH密钥以及别名无密码登录

    Linux设置SSH密钥以及别名无密码登录 首先生成使用密钥对 使用ssh-keygen生成密钥对 生成的文件默认...

网友评论

      本文标题:iOS RSA2048本地生成密钥对

      本文链接:https://www.haomeiwen.com/subject/eslnhktx.html