centos证书,centos免费吗
很多朋友对于centos证书和centos免费吗不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
CentOS下生成自签名的证书的方法详解
1.生成自签名的证书
通常要配置https的服务器,都需要一个由正式的CA机构认证的X509证书。当客户端连接https服务器时,会通过CA的共钥来检查这个证书的正确性。但要获得CA的证书是一件很麻烦的事情,而且还要花费一定的费用。因此通常一些小的机构会是使用自签名的证书。也就是自己做CA,给自己的服务器证书签名。
这个过程有两个主要的步骤,首先是生成自己的CA证书,然后再生成各个服务器的证书并为它们签名。我是用OpenSSL来生成自签名证书的。
第一步是制作CA的证书:
opensslgenrsa-des3-outmy-ca.key2048
opensslreq-new-x509-days3650-keymy-ca.key-outmy-ca.crt
这会生成my-ca.key和my-ca.crt文件,前者存放着使用my-ca.crt制作签名时必须的密钥,应当妥善保管。而后者是可以公开的。上面的命令为my-ca.key设定的有效期为10年。
用命令
opensslx509-inmy-ca.crt-text-noout
可以查看my-ca.crt文件的内容。
有了CA证书之后,就可以为自己的服务器生成证书了:
opensslgenrsa-des3-outmars-server.key1024
opensslreq-new-keymars-server.key-outmars-server.csr
opensslx509-req-inmars-server.csr-outmars-server.crt-sha1-CAmy-ca.crt-CAkeymy-ca.key-CAcreateserial-days3650
前两个命令会生成key、csr文件,最后一个命令则通过my-ca.crt为mars-server.csr制作了x509的签名证书。
需要注意的是,在执行上述第二个命令时,CommonName选项应当输入的是服务器的域名,否则在用户通过https协议访问时每次都会有额外的提示信息。
用命令
opensslx509-inmars-server.crt-text-noout
可以查看mars-server.crt文件的内容。
2.配置Apache服务器
首先,创建/etc/apache2/ssl目录,将刚刚制作的my-ca.crt、mars-server.key和mars-server.crt文件拷贝到这个目录中。
接着执行命令
a2emodssl
激活Apache的SSL模块,然后在/etc/apache2/sites-enable/中添加虚拟主机,这个过程与添加普通的虚拟主机类似,不同点在于该主机的端口应为443。配置如下:
NameVirtualHost*:443
ServerNamelocalhost
DocumentRoot/var/www
SSLEngineOn
SSLCipherSuiteHIGH:MEDIUM
SSLProtocolall-SSLv2
SSLCertificateFile/etc/apache2/ssl/mars-server.crt
SSLCertificateKeyFile/etc/apache2/ssl/mars-server.key
SSLCACertificateFile/etc/apache2/ssl/my-ca.crt
var/www>
Orderdeny,allow
Allowfromlocalhost
ServerNamelocalhost
DocumentRoot/var/www
var/www>Orderdeny,allow
Allowfromlocalhost
以上配置保证了用户在访问443和80端口时可以看到相同的内容,而仅仅是使用的协议不同。修改好配置后,便可以重启Apache服务器,这时需要输入mars-server.key的密码。用浏览器访问
这时应当看到一个弹出对话框,让你确认是否信任该站点的证书,选择信任后,便可以查看该站点的内容了。
由于大多数Apache服务器都是在服务器启动时自动启动,为了避免在启动Apache时输入密码,可以用以下命令生成不加密的mars-server.key文件:
opensslrsa-inmars-server.key-outmars-server.key.insecure
用新生成的mars-server.key.insecure代替原有的key文件即可。
如何在CentOS7.x上生成自签名SSL证书
在CentOS 7.x环境中设置HTTPS安全连接时,自签名SSL证书是不可或缺的工具,尤其适用于测试和内部环境。以下是详细的生成步骤:
1.安装OpenSSL:首先确保你的系统已安装OpenSSL,这是实现SSL和TLS协议的重要组件。
2.生成带密码私钥:创建一个密码保护的私钥文件,以增强私钥的安全性。输入密码(如“123456”)进行生成。
3.私钥去密码保护:当需要特定配置时,可以移除密码保护,输入先前设定的密码。
4.创建自签名证书:使用生成的私钥,创建自签名证书文件,填写相关证书信息,如国家、城市等,按需操作。
5.生成证书签名请求:为了可能的第三方签发,可创建一个证书签名请求(CSR)。
6.生成完整签名证书:如果需要CA签发,按照指示生成带有CA签名的证书。
7.导出PFX格式证书: PFX格式便于导入导出,可通过命令生成,密码可留空。
8.转换证书格式:将PFX证书转换为PEM格式,方便使用。
完成以上步骤后,你已经在CentOS 7.x上成功创建了自签名SSL证书,适用于本地测试或内部网络的加密通信。但在生产环境中,推荐使用受信任的CA签发的证书以确保最高安全级别。
如有对GPT4.0的需求,请参考相关教程。
centos7+tomcat登陆超时
在工作中开发找到说,项目日志访问域名报错,报错如下:
这是第二次遇到的报错,所以把它记录下来,在服务器curl是另外一种结果,服务器结果如下:
经过第一次的经验就知道,本机的jdk是不信任你这域名的,然后我将这个域名的私钥证书,就是.crt结尾的证书转换成.cer结尾的证书,进行导入到本机jdk里面就可以实现程序的信任了,好了话不多说操作如下。
1.拿到私钥证书之后,使用ie浏览器导入到浏览里面。
找到你的私钥证书
选择你的组
这就是导入成功了。
开始导出.cer结尾的证书,选择你导入证书的组然后点击导出来
选择你要导出的证书编码类型
选择要导出的位置以及导出证书的名字
导出完成。
得到了一个后缀为.cer结尾的证书。然后接下来导入到我们需要的服务器jdk中即可
2.liunx导入证书的命令为如下(本片文章jdk是以yum安装的jdk为主导入的):
(1)找打jdk安装的目录
# pwd
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/securi
(2)上传要导入的证书
(3)进入jdk安装目录,然后进行导入证书
#导入证书命令
# keytool-import-trustcacerts-alias tomcat-file/home/cert/111.cer-keystore"/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/cacerts"-storepass changeit
#删除证书命令
# keytool-delete-alias server-keystore D:\jdk1.6.0\jre\lib\security\cacerts-storepass changeit
这样再用程序调用这域名就不会报超时了。