数字证书
-
简单说明
证书和驾照很相似,里面记有姓名、组织、地址等个人信息,以及属于此人的公钥,并有认证机构施加数字签名,只要看到公钥证书,我们就可以知道认证机构认证该公钥的确属于此人 -
数字证书的内容
1.公钥
2.认证机构的数字签名 -
PKCS加密标准
-
Public-Key Cryptography Standards (PKCS)是由美国 RSA 数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议
-
PKCS加密标准有很多,开发中常用的是PKCS#12,也就是p12文件
p12文件是描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法
苹果的开发者证书也俗称 P12
-
-
数字证书的生成
生成步骤 :
1)生成私钥 openssl genrsa -out private.pem 1024
2)创建证书请求 openssl req -new -key private.pem -out rsacert.csr
3)生成证书并签名,有效期10年 openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
4)将 PEM 格式文件转换成 DER 格式 openssl x509 -outform der -in rsacert.crt -out rsacert.der
5)导出P12文件 openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt -
iOS开发中的注意点
1)在iOS开发中,不能直接使用 PEM 格式的证书,因为其内部进行了Base64编码,应该使用的是DER的证书,是二进制格式的
2)OpenSSL默认生成的都是PEM格式的证书