一.什么是CA证书?
1.专业解释
**CA(Certificate Authority,证书授权)**是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明。能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。
2.大白话
①线下盖章->用实实在在摸得到的红章
②线上盖章->用CA证书
二者本质上,没有区别,目的都是为了证明是哪个实体(公司)盖的章(做出的许诺)。

3.CA证书里的公钥和私钥
①CA证书里的私钥,用于对待盖章的PDF文件进行签名(其实就是把PDF文件加密成密文)
②CA证书里的公钥,用于机构对已盖章的PDF进行验证
二.生成CA证书
1.正式
正常情况下,要使得签的章有法律效力,那么CA证书必须由CFCA这种权威的官方机构颁发。
2.练习
为了方便练习和测试,因此不能用正式的CA证书。
所以需要自己生成一个测试版的CA证书,本质和正式的CA证书没啥区别,二者都是存着密钥(即:公钥和私钥)的文件。
CA证书的文件格式有很多,我们这里就生成一个p12(即PKCS#12)格式的文件来充当CA证书。具体方法:基于Java的JDK(keytool命令)生成。