本地进行证书签名
之前說過生成公私鑰.pem文件,實際上,我們在工作中一般不會用到.pem文件,我們完全可以在鑰匙串中證書助理直接從證書頒發機構中申請證書,當然本地也可以。
- 終端生成證書
首先生成.csr請求證書文件,之后用這個.csr文件去證書頒發機構請求證書。
這樣,終端就生成好了一個.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編碼,所以開發的時候還是不能直接用,需要將其內容提取出來
通過命令,生成一個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,這里只是為了演示。
總結
- 上一篇: 了解Base64编码解码
- 下一篇: 对称加密算法原理--OpenSSL演示、