本地进行证书签名

本地进行证书签名

之前说过生成公私钥.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,这里只是为了演示。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值