千家信息网

在Linux系统怎么实现证书签发

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"在Linux系统怎么实现证书签发",在日常操作中,相信很多人在在Linux系统怎么实现证书签发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"在Linu
千家信息网最后更新 2026年11月04日在Linux系统怎么实现证书签发

这篇文章主要介绍"在Linux系统怎么实现证书签发",在日常操作中,相信很多人在在Linux系统怎么实现证书签发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"在Linux系统怎么实现证书签发"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

具体内容

在Linux系统里面已经集成了OpenSSL组件,但是考虑到本次生成的操作的步骤异常的复杂,所以强烈建议搭建拷贝我给出完整的配置。整个生成完毕之后还需要将证书转换为 Java 可以使用的证书格式,而后才可以在 Tomcat 中进行配置。本次的开发为了方便的进行证书的下载,直接将所有的证书就生成在 ftp 指定的目录下(/srv/ftp)为了方便保存,建立一个保存所有证书的文件夹:mkdir -p /srv/ftp/cas

2.1、签发根证书

本次生成的证书为根证书,那么将根证书保存在"/srv/ftp/cas"目录之中

1、 生成 CA 密钥对:

openssl genrsa -out /srv/ftp/cas/cakey.pem 2048 RSA

生成一个使用 RSA 编码的的密钥信息,而后生成的文件保存到"/srv/ftp/cas/cakey.pem"该密钥对的长度为 2048 个字节。

2、 生成根证书的签发申请:

openssl req -new -key /srv/ftp/cas/cakey.pem -out /srv/ftp/cas/cacert.csr -subj /CN=cas.com

在证书访问的时候必须以域名的形式出现(不要使用 ip),这个域名应该是你自己的。现在如果要进行本机的模拟,那么需要通过 windows 下的 hosts 进行修改。

3、 生成根证书的签发申请:

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey /srv/ftp/cas/cakey.pem -in /srv/ftp/cas/cacert.csr -out /srv/ftp/cas/ca.cer

此签发证书的有效时间为 10 年。

2.2、签发服务器端证书

为了与根证书的保存区分,建议建立一个目录:mkdir -p /srv/ftp/cas/server;

1、 生成服务器私钥:

openssl genrsa -aes256 -out /srv/ftp/cas/server/server-key.pem 2048

服务器端生成私钥的时候需要设置一个密码,密码为:mldnjava;

2、 生成服务器端证书的签发申请,创建的时候依然需要输入之前的密码:

openssl req -new -key /srv/ftp/cas/server/server-key.pem -out /srv/ftp/cas/server/server.csr -subj /CN=cas.com

3、 生成服务器端证书的签发申请,有效期为 10 年:

openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA /srv/ftp/cas/ca.cer -CAkey /srv/ftp/cas/cakey.pem -CAserial /srv/ftp/cas/server/ca.srl -CAcreateserial -in /srv/ftp/cas/server/server.csr -out /srv/ftp/cas/server/server.cer

此时有了服务器端的证书之后才可以创建客户端证书。

2.3、签发客户端证书

建立一个目录保存客户端证书信息:mkdir -p /srv/ftp/cas/client;

1、 生成客户端私钥:

openssl genrsa -aes256 -out /srv/ftp/cas/client/client-key.pem 2048

生成的时候输入密码:mldnjava;

2、 生成客户端的证书申请:

openssl req -new -key /srv/ftp/cas/client/client-key.pem -out /srv/ftp/cas/client/client.csr -subj /CN=cas.com

3、 生成客户端的签发证书:

openssl x509 -req -days 365 -sha1 -CA /srv/ftp/cas/ca.cer -CAkey /srv/ftp/cas/cakey.pem -CAserial /srv/ftp/cas/server/ca.srl -in /srv/ftp/cas/client/client.csr -out /srv/ftp/cas/client/client.cer

此时最需要注意的是,该证书只针对于"cas.com"有效。

2.4、生成 Java 证书

现在使用了 OpenSSL 生成的数字证书和私钥,如果要想在 java 的环境下使用,需要将其转换为"PKCS#12"的编码格式密钥文件才可以被 Java 的 keytool 工具所管理

前提:此时 java 端的证书由于需要在 tomcat 上使用,那么最终的证书建议在 Tomcat 的目录中保存,而 Tomcat 的路径为"/usr/local/tomcat"。

1、 生成客户端证书:

openssl pkcs12 -export -clcerts -name cas-client -inkey /srv/ftp/cas/client/client-key.pem -in /srv/ftp/cas/client/client.cer -out /srv/ftp/cas/client/client.p12

客户端的证书随后是需要发给客户端浏览器的。

2、 生成服务器端证书,主要由 Tomcat 使用;

openssl pkcs12 -export -clcerts -name cas-server -inkey /srv/ftp/cas/server/server-key.pem -in /srv/ftp/cas/server/server.cer -out /srv/ftp/cas/server/server.p12

3、 将现在生成的服务器端证书导入到本机的受信认证证书

keytool -importcert -trustcacerts -alias cas.com -file /srv/ftp/cas/ca.cer -keystore /usr/local/tomcat/ca-trust.p12

那么此时 JDK 就表示当前要使用的证书已经得到了认可。

4、 查看所有的证书信息:

keytool -list -keystore /srv/ftp/cas/client/client.p12 -storetype pkcs12 -v

随后还需要在客户端进行证书的配置。

到此,关于"在Linux系统怎么实现证书签发"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

证书 生成 客户 服务器 服务 客户端 系统 目录 端的 密码 密钥 时候 学习 有效 信息 建议 文件 配置 域名 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技网 互联网科技公司经营范围 科技互联网公司装修 互联网与科技发展 美国互联网黑科技 科技互联网公司logo 菲比寻常互联网科技 恒生科技互联网指数分析 衡水科技产业互联网平台 湖南洣水互联网科技有限公司扣款 宁波青枫互联网科技有限公司 未来五年的互联网科技 互联网科技大赛获奖感言 产业互联网科技服务公司 富国互联网科技002692 新氧科技和美国互联网有关系吗 上海同邻互联网科技有限公司规模 玉溪新华互联网科技怎么选 互联网科技对化妆品行业 北京品多多互联网科技有限公司 湖南永感互联网科技有限公司 涨乐互联网科技 宜安科技 互联网金融 有木互联网科技 互联网 新科技 联恩商钥互联网科技有限公司 西藏七维空间互联网科技有限公司 徐州市互联网科技有限公司 南通创西澳互联网科技有限公司 杭州科技互联网公司有哪些
0