证书管理(企业版)
概述
在很多应用场景下,都会涉及到自签名证书的使用。例如:在 Spring Authorization Server 中使用证书来计算 JWT Token 的签名,使用 SSL 来提升 Http Client 访问的安全性等。特别是在微服务架构系统中,为了提升安全性,需要使用到 SSL 或者证书的地方更多。
通常,我们要生成自签名证书,都是使用例如 JDK 自带 Keytool 工具或者安装 OpenSSL,通过在命令行输入指令来生成证书。
虽然 Keytool 或 OpenSSL 使用都很方便,但这都是独立于应用以外的工具,通过程序代码调用特别时 Java 代码,并不是很方便。而且,在使用时还需要了解一大堆的参数,对于不经常使用 Keytool 或 OpenSSL 的用户来说,想要把各种参数了解清楚并无误的生成证书,也是需要花费一定的时间经历的。一段时间不用,可能就忘记了,需要使用的时候还需要再了解一次。最主要的是,外部命令行工具,没有一个统一的、可视化的管理机制。
为了解决这个问题,Dante Cloud 单独开发一套证书管理功能模块,不依赖 Keytool 或 OpenSSL,通过系统界面输入必要参数,就可以签发根证书、CA 证书以及最终实体证书。证书信息通过系统统一管理,支持本地和远端文件存储,还支持不同格式的导出。
[一]证书管理
[1]证书列表
在证书管理页面,可以查看系统证书列表,并进行相应的管理操作。

[2]新建证书
新建证书,根据界面提示输入相关信息,新建证书

说明:
- 根证书:它是证书颁发机构(CA)的最顶层证书,是整个信任链的起点和锚点。通常存储在离线的硬件设备中(就像锁在保险柜里),不直接参与日常的网络通信,以防被窃取。
- 中间根证书:连接根证书和最终用户证书的桥梁。它活跃在服务器上,负责实际的证书签发工作。如果中间证书被黑客入侵,CA可以吊销它,而无需动到最顶层的根证书,从而保护了根证书的绝对安全。
- 最终实体证书:也就是叶子证书,是最终用户实际使用的证书。它上面绑定了具体的网站地址(如 google.com)或用户身份。通常有效期较短(如90天或1年),需要定期续期。
[二]证书下载
通过证书管理功能新建了证书之后,Dante Cloud 并不会马上生成对应的证书文件。如果需要使用具体的证书文件,点击下载按钮选择具体的之后,Dante Cloud 才会生成对应格式的证书文件,同时将其下载给用户。

证书文件生成之后,可以通过查看文件列表来查看具体的文件。

[三]后续计划
当前,开源版和企业版均使用该功能生成的证书,为 Spring Authorization Server 提供 JWT Token 签名支持。
后续,可能会根据开发安全以及实际需要,开发证书体系相关的证书吊销、OCSP 以及 ACME 等完整的 PKI 管理功能。
