09.openssl - wwj-2017-1117/AES_OK GitHub Wiki
/*
CRT - CRT应该是certificate的三个字母,其实还是证书的意思,常见于LINIX系统,有可能是PEM编码,也有可能是DER编码,大多数应该是PEM编码. CER - 是certificate的缩写,还是证书,常见于Windows系统,同样的,可能是PEM编码,也可能是DER编码,大多数应该是DER编码.
证书标准 X.509 - 这是一种证书标准,主要定义了证书中应该包含哪些内容.其详情可以参考RFC5280,SSL使用的就是这种证书标准.
编码格式 同样的X.509证书,可能有不同的编码格式,目前有以下两种编码格式. PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN..."开头, "-----END..."结尾,内容是BASE64编码. 查看PEM格式证书的信息: openssl x509 -in certificate.pem -text -noout Apache和LINIX服务器偏向于使用这种编码格式.
DER - Distinguished Encoding Rules,打开看是二进制格式,不可读. 查看DER格式证书的信息: openssl x509 -in certificate.der -inform der -text -noout Java和Windows服务器偏向于使用这种编码格式.
openssl下的子命令 openssl help , 可以查看到 openssl 下面有很多伪命令
openssl req 命令详解 主要命令选项: -new :说明生成证书请求文件 , 如果也指定了-x509选项,则表示创建的是自签署证书文件,而非证书请求文件。 -x509 :说明生成自签名证书 -key :指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项-new配合。 -newkey :-newkey是与-key互斥的, -newkey是指在生成证书请求或者自签名证书的时候自动生成密钥,然后生成的密钥名称由-keyout参数指定。 当指定newkey选项时,后面指定rsa:bits说明产生 rsa密钥,位数由bits指定。 如果没有指定选项-key和-newkey,默认自动生成秘钥。
openssl 外部网站
openssl的维基百科 https://en.wikipedia.org/wiki/OpenSSL 说明:内含openssl的整体介绍,并附有一系列外部链接
openssl官网 https://www.openssl.org/
openssl代码GitHub开源地址 https://github.com/openssl/openssl
openssl 社区 WiKi https://wiki.openssl.org/index.php/Main_Page 内含openssl的各种快速链接,如openssl概述,API列表等等。
openssl用户手册 https://www.openssl.org/docs/manpages.html 含有API,算法,密钥,证书等各个特性的详细说明,开发必备,推荐指数五星!!!
openssl常见问题FAQ https://www.openssl.org/docs/faq.html
openssl cookbook在线阅读 https://www.feistyduck.com/library/openssl-cookbook/online/ OpenSSL Cookbook 涵盖了最常用的OpenSSL功能和命令,它经常更新
openssl漏洞列表 https://www.openssl.org/news/vulnerabilities.html 这里会更新openssl出现的漏洞以及修复方法的详细说明
openssl命令行 https://wiki.openssl.org/index.php/Command_Line_Utilities https://www.openssl.org/docs/man1.1.1/man1/ 内含openssl命令行的相关内容
openssl编程教程 https://developer.ibm.com/technologies/linux/tutorials/l-openssl https://www.ibm.com/developerworks/cn/linux/l-openssl.html
X.509、PKCS文件格式介绍 https://chanjarster.github.io/post/x509-pkcs-file-formats/
证书签发:
签发证书有两个命令,openssl ca是常规的命令,另外,还可以使用openssl x509命令签发。在本地上,自签名的证书可以通过openssl req -new -x509签发。
- 伪命令x509可以像openssl ca一样对证书或请求执行签名动作。但是,openssl x509 不读取配置文件,所有的一切配置都由x509自行提供,所以openssl x509像是一个"mini CA"。如果需要加入扩展字段,可以通过-extfile filename 和-extensions section来指定。
- openssl ca则是默认的签发指令,通过配置文件签发证书。默认的配置文件一般在/etc/ssl/openssl.cnf或者/etc/pki/openssl.cnf。可以通过-config filename来指定自定义的配置文件。所有所需信息都是预先定义在配置文件中,同样扩展字段,通过-extensions section来指定签发什么类型的证书。
*/