美文网首页iOS开发进阶
本地进行证书签名

本地进行证书签名

作者: 我叫Vincent | 来源:发表于2019-01-18 17:28 被阅读99次
本地进行证书签名

之前说过生成公私钥.pem文件,实际上,我们在工作中一般不会用到.pem文件,我们完全可以在钥匙串中证书助理直接从证书颁发机构中申请证书,当然本地也可以。

  • 终端生成证书
    首先生成.csr请求证书文件,之后用这个.csr文件去证书颁发机构请求证书。
// 通过private.pem,new一个rsacert.csr文件
$ openssl req -new -key private.pem -out rsacert.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
// 输入一些信息,地址、公司和邮箱等
Country Name (2 letter code) []:cn
State or Province Name (full name) []:shanghai
Locality Name (eg, city) []:shanghai
Organization Name (eg, company) []:personal
Organizational Unit Name (eg, section) []:personal
Common Name (eg, fully qualified host name) []:personal.com
Email Address []:76521244@qq.com

Please enter the following 'extra' attributes
to be sent with your certificate request
// 可以直接回车,不设置密码
A challenge password []:

这样,终端就生成好了一个.csr文件了,接下来继续用终端申请证书

// x509标准格式,-req签名,-days 3650 时间,也就是10年,用刚刚生成的csr文件和private.pem私钥进行签名,输出rsacert.crt证书
$ openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
Signature ok
subject=/C=cn/ST=shanghai/L=shanghai/O=personal/OU=personal/CN=personal.com/emailAddress=76521244@qq.com
Getting Private key

证书生成好后,显示证书的信息,下面是生成好的两个文件

证书文件

这个证书大概一年5000大洋,刚刚的一个操作5W就出去了,哈哈哈。。。那这个证书可以用来干嘛呢

  • 用途
    比如HTTPS协议,这个协议需要认证这个证书,我们把证书放在服务器,别人去接受。
    当我们查看这个证书时,会发现这个证书还是Base64编码,所以开发的时候还是不能直接用,需要将其内容提取出来
$ openssl x509 -outform der -in rsacert.crt -out rsacert.der

通过命令,生成一个rsacert.der文件,这个文件主要包含了公钥和一些信息,再通过这个.der文件生成可以直接用的P12文件,也就是对应这个公钥的私钥。

$ openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
Enter Export Password:
Verifying - Enter Export Password:

用刚刚生成crt的private.pem和.crt文件提取出P12文件,提取过程中需要设置密码,输入两次相同的密码回车后,一个对应的P12文件已经生成了。


证书文件

有了它俩就可以进行加密和解密了,我们iOS开发就是用的这两个文件。当然这两个文件不需要都拿到,只用.der就OK,这里只是为了演示。

相关文章

  • 本地进行证书签名

    之前说过生成公私钥.pem文件,实际上,我们在工作中一般不会用到.pem文件,我们完全可以在钥匙串中证书助理直接从...

  • 动态库重签名

    1、动态库的证书文件 删除_CodeSignature 文件,这也是你的签名文件的路劲 2、获取本地签名证书 以上...

  • iis7.5 部署SSL证书实现https访问

    环境:Windows 2008 本地自签名证书,开放443端口 本次讲自签名证书方法: 首先打开IIS管理器点击服...

  • Netty中自签名证书的颁发

    概要 自签名证书的用途一般我们需要注册CA证书给网站添加HTTPS,不过本地测试的时候,我们可以使用自签名证书。自...

  • iOS应用签名管理

    写在前面:FYI尼卡签名管理不会要求用户导出证书或让用户设置本地证书所在目录,而是直接安全读取本地钥匙串证书列表,...

  • Xcode8继续使用插件(两种方法)

    复制一份Xcode8出来,进行重新签名 方法一:创建一个证书,钥匙串访问-证书助理-创建证书,证书类型选择代码签名...

  • 双证书机制

    何为单证书和双证书? 单证书: 用户使用唯一的证书及对应的私钥进行签名和加密操作。 签名时,A用户使用自己的私钥加...

  • 一键自签本地自签名SAN域名证书HTTPS工具(最新版Chrom

    一键自动生成本地自签名SAN域名证书工具 原生OpenSSL生成自签名SAN CA域名(V3签名),在Linux、...

  • KeyTool证书管理

    KeyTool 证书管理 构建自签名证书 申请数字证书之前,需要在密钥库中以别名的方式生成本地数字证书,建立相应的...

  • iOS 测试包

    若想测试iOS开发完成的应用需先给应用进行签名,进行签名则先要申请证书,不同的测试方式需要不同的证书。 测试iOS...

网友评论

    本文标题:本地进行证书签名

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