linux ca 证书(国家认可的Linux证书)
今天给各位分享linux ca 证书的知识,其中也会对国家认可的Linux证书进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
linux有什么证书
Linux系统中常见的证书包括以下几种:
SSL/TLS证书用于加密网站与访问者之间的通信,确保数据传输的安全性。这些证书通常由权威的证书颁发机构(CA)签发,如Symantec、Comodo、GoDaddy等。
SSH证书用于验证服务器的身份,以及在客户端和服务器之间建立安全的连接。SSH证书通常由私有密钥生成,并且可以自签名或由可信的CA签发。
GPG/PGP证书用于加密电子邮件和其他文件,以保护数据的隐私性和完整性。这些证书同样可以自签名或由可信的CA签发。
OpenSSL证书通常用于服务器和应用程序,以实现数据的加密传输。
Let's Encrypt是一个提供免费SSL/TLS证书的非营利组织,旨在促进互联网上的加密通信。它的证书广泛应用于各种网站,以提供HTTPS连接。
Docker安全令牌用于验证容器镜像的来源和完整性。这些令牌通常由Docker Hub或其他容器注册中心签发。
Kubernetes集群中的证书用于节点之间的身份验证和授权。这些证书对于Kubernetes的安全运行至关重要。
OpenVPN是一种虚拟私人网络(VPN)解决方案,其证书用于验证用户身份和加密数据传输。OpenVPN证书可以是自签名的,也可以由CA签发。
Apache和Nginx是两种流行的Web服务器软件,它们可以配置使用SSL/TLS证书来提供安全的Web服务。
Kerberos是一种网络认证协议,其证书用于验证用户和服务器的身份,确保网络通信的安全性。
以上是Linux系统中常见的证书类型,它们在不同的应用场景中发挥着重要的安全作用。正确管理和使用这些证书对于保护数据安全和维护系统的完整性至关重要。
如何生成CA证书
如何生成CA证书
一般情况下,如果能找到可用的证书,就可以直接使用,只不过会因证书的某些信息不正确或与部署证书的主机不匹配而导致浏览器提示证书无效,但这并不影响使用。
需要手工生成证书的情况有:
找不到可用的证书
需要配置双向SSL,但缺少客户端证书
需要对证书作特别的定制
首先,无论是在Linux下还是在Windows下的Cygwin中,进行下面的操作前都须确认已安装OpenSSL软件包。
1.创建根证书密钥文件(自己做CA)root.key:
openssl genrsa-des3-out root.key
输出内容为:
[lenin@archer~]$ openssl genrsa-des3-out root.key
Generating RSA private key, 512 bit long modulus
……………..++++++++++++
..++++++++++++
e is 65537(0×10001)
Enter pass phrase for root.key:←输入一个新密码
Verifying– Enter pass phrase for root.key:←重新输入一遍密码
2.创建根证书的申请文件root.csr:
openssl req-new-key root.key-out root.csr
输出内容为:
[lenin@archer~]$ openssl req-new-key root.key-out root.csr
Enter pass phrase for root.key:←输入前面创建的密码
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter‘.’, the field will be left blank.
—–
Country Name(2 letter code) [AU]:CN←国家代号,中国输入CN
State or Province Name(full name) [Some-State]:BeiJing←省的全名,拼音
Locality Name(eg, city) []:BeiJing←市的全名,拼音
Organization Name(eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp.←公司英文名
Organizational Unit Name(eg, section) []:←可以不输入
Common Name(eg, YOUR name) []:←此时不输入
Email Address []:admin@mycompany.com←电子邮箱,可随意填
Please enter the following‘extra’ attributes
to be sent with your certificate request
A challenge password []:←可以不输入
An optional company name []:←可以不输入
3.创建一个自当前日期起为期十年的根证书root.crt:
openssl x509-req-days 3650-sha1-extensions v3_ca-signkey root.key-in root.req-out root.crt
输出内容为:
[lenin@archer~]$ openssl x509-req-days 3650-sha1-extensions v3_ca-signkey root.key-in root.csr-out root.crt
Signature ok
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./emailAddress=admin@mycompany.com
Getting Private key
Enter pass phrase for root.key:←输入前面创建的密码
4.创建服务器证书密钥server.key:
openssl genrsa–des3-out server.key 2048
输出内容为:
[lenin@archer~]$ openssl genrsa-out server.key 2048
Generating RSA private key, 2048 bit long modulus
….+++
…………………………………………..+++
e is 65537(0×10001)
运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!
去除key文件口令的命令:
openssl rsa-in server.key-out server.key
5.创建服务器证书的申请文件server.csr:
openssl req-new-key server.key-out server.csr
输出内容为:
[lenin@archer~]$ openssl req-new-key server.key-out server.req
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter‘.’, the field will be left blank.
—–
Country Name(2 letter code) [AU]:CN←国家名称,中国输入CN
State or Province Name(full name) [Some-State]:BeiJing←省名,拼音
Locality Name(eg, city) []:BeiJing←市名,拼音
Organization Name(eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp.←公司英文名
Organizational Unit Name(eg, section) []:←可以不输入
Common Name(eg, YOUR name) []:www.mycompany.com←服务器主机名,若填写不正确,浏览器会报告证书无效,但并不影响使用
Email Address []:admin@mycompany.com←电子邮箱,可随便填
Please enter the following‘extra’ attributes
to be sent with your certificate request
A challenge password []:←可以不输入
An optional company name []:←可以不输入
6.创建自当前日期起有效期为期两年的服务器证书server.crt:
openssl x509-req-days 730-sha1-extensions v3_req-CA root.crt-CAkey root.key-CAserial root.srl-CAcreateserial-in server.csr-out server.crt
输出内容为:
[lenin@archer~]$ openssl x509-req-days 730-sha1-extensions v3_req-CA root.crt-CAkey root.key-CAcreateserial-in server.csr-out server.crt
Signature ok
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./CN=www.mycompany.com/emailAddress=admin@mycompany.com
Getting CA Private Key
Enter pass phrase for root.key:←输入前面创建的密码
7.创建客户端证书密钥文件client.key:
openssl genrsa-des3-out client.key 2048
输出内容为:
[lenin@archer~]$ openssl genrsa-des3-out client.key 2048
Generating RSA private key, 2048 bit long modulus
……………………………………………………………………………..+++
……………………………………………………………………………………………………….+++
e is 65537(0×10001)
Enter pass phrase for client.key:←输入一个新密码
Verifying– Enter pass phrase for client.key:←重新输入一遍密码
8.创建客户端证书的申请文件client.csr:
openssl req-new-key client.key-out client.csr
输出内容为:
[lenin@archer~]$ openssl req-new-key client.key-out client.csr
Enter pass phrase for client.key:←输入上一步中创建的密码
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter‘.’, the field will be left blank.
—–
Country Name(2 letter code) [AU]:CN←国家名称,中国输入CN
State or Province Name(full name) [Some-State]:BeiJing←省名称,拼音
Locality Name(eg, city) []:BeiJing←市名称,拼音
Organization Name(eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp.←公司英文名
Organizational Unit Name(eg, section) []:←可以不填
Common Name(eg, YOUR name) []:Lenin←自己的英文名,可以随便填
Email Address []:admin@mycompany.com←电子邮箱,可以随便填
Please enter the following‘extra’ attributes
to be sent with your certificate request
A challenge password []:←可以不填
An optional company name []:←可以不填
9.创建一个自当前日期起有效期为两年的客户端证书client.crt:
openssl x509-req-days 730-sha1-extensions v3_req-CA root.crt-CAkey root.key-CAserial root.srl-CAcreateserial-in client.csr-out client.crt
输出内容为:
[lenin@archer~]$ openssl x509-req-days 730-sha1-extensions v3_req-CA root.crt-CAkey root.key-CAcreateserial-in client.csr-out client.crt
Signature ok
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./CN=www.mycompany.com/emailAddress=admin@mycompany.com
Getting CA Private Key
Enter pass phrase for root.key:←输入上面创建的密码
10.将客户端证书文件client.crt和客户端证书密钥文件client.key合并成客户端证书安装包client.pfx:
openssl pkcs12-export-in client.crt-inkey client.key-out client.pfx
输出内容为:
[lenin@archer~]$ openssl pkcs12-export-in client.crt-inkey client.key-out client.pfx
Enter pass phrase for client.key:←输入上面创建的密码
Enter Export Password:←输入一个新的密码,用作客户端证书的保护密码,在客户端安装证书时需要输入此密码
Verifying– Enter Export Password:←确认密码
11.保存生成的文件备用,其中server.crt和server.key是配置单向SSL时需要使用的证书文件,client.crt是配置双向SSL时需要使用的证书文件,client.pfx是配置双向SSL时需要客户端安装的证书文件
.crt文件和.key可以合到一个文件里面,把2个文件合成了一个.pem文件(直接拷贝过去就行了)
参考:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
x509证书一般会用到三类文,key,csr,crt。
Key是私用密钥openssl格,通常是rsa算法。
Csr是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。
crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。
1.key的生成
opensslgenrsa-des3-out server.key 2048
这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:
opensslrsa-in server.key-out server.key
server.key就是没有密码的版本了。
2.生成CA的crt
opensslreq-new-x509-key server.key-out ca.crt-days3650
生成的ca.crt文件是用来签署下面的server.csr文件。
3.csr的生成方法
opensslreq-new-key server.key-outserver.csr
需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。
4.crt生成方法
CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。
opensslx509-req-days 3650-in server.csr-CA ca.crt-CAkey server.key-CAcreateserial-out server.crt
输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。
最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt
证书合并:
catserver.key server.crt> server.pem
ssl证书如何申请ssl证书申请流程
如何申请ssl证书
SSL证书申请流程:
步骤1:提交CSR文档
首先,需要生成SSL证书申请文件CSR(证书签名请求)。选择要申请的SSL证书,提交订单,并将生成的CSR文档提交给您的SSLCA颁发机构。
步骤2:将订单提交给证书颁发机构CA。
系统收到SSL证书订单和证书请求CSR文件后,经过初步验证后,会自动将订单提交给证书服务机构CA。
第三步:将验证邮件发送到管理员的邮箱。
认证机构(主要包括Comodo/rapidsl/Geotrust/Symantec/Thawte/Verisign)在收到证书申请文件CSR文件系统后,自动向域名管理员邮箱发送验证邮件。
步骤4:用户确认验证电子邮件。
输入邮箱地址后,点击邮件中的链接,访问证书颁发机构验证的网站,查看订单信息,然后点击确认,完成邮件验证。
第五,证书颁发机构颁发证书。
类型域名证书DVSSL一般在用户完成确认邮件后1-24小时颁发证书;企业证书OVSSL和增强证书EVSSL需要证书服务机构进行人工验证,耗时较长。核实后发证需要7-15个工作日。成功颁发的证书通过邮件发送到用户的订阅邮箱,也可以登录用户中心查询证书,让网站成功使用SSL证书。
ssl证书域名怎么填?
如果申请的是通配符SSL证书(又称泛域名证书),我们只需在SSL证书绑定域名中填写一个泛域名即可(例如本站申请的通配符SSL证书,在“绑定域名”中填写“*.idcspy.com”就可以了)。一张通配符SSL证书可以保护一个主域名以及它所有的二级域名,后续添加新的二级域名无需重新审核和另外付费,性价比非常高。
以上就是关于SSL证书域名如何填写的介绍
怎样申请免费通配的ssl证书?
让网站永久拥有HTTPS-申请免费SSL证书并自动续期Let’sEncrypt
为什么要用HTTPS??网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。
??有HTTPS的时候,通俗地讲所有的数据传输都会被加密,你和网站之间的数据交流也就更加安全。
相关Let’sEncrypt??如果要启用HTTPS,我们就需要从证书授权机构处获取一个证书,Let’sEncrypt就是一个证书授权机构。我们可以从Let’sEncrypt获得网站域名的免费的证书。
Certbot??Certbot是Let’sEncrypt推出的获取证书的客户端,可以让我们免费快速地获取Let’sEncrypt证书。
便宜SSL??便宜SSL是一家国内的SSL证书提供商,同样也拥有免费证书。而且提供丰富的工具:。
获取HTTPS证书??获取SSL证书的过程大体上都一样。既可以图形化,也可以命令行,最后实现的效果都完全一样,大家各取所需。
命令行安装Certbot??进入Certbot的官网,选择你所使用的软件和系统环境,然后就会跳转到对应版本的安装方法,以Ubuntu+Nginx为例。
sudoapt-getupdatesudoapt-getinstallsoftware-properties-commonsudoadd-apt-repositoryppa:certbot/certbotsudoapt-getupdatesudoapt-getinstallcertbot申请证书??安装完成后执行:
certbotcertonly--webroot-w/var/www/example-dexample.com-dwww.example.com??这条命令的意思是为以/var/www/example为根目录的两个域名example.com和www.example.com申请证书。
??如果你的网站没有根目录或者是你不知道你的网站根目录在哪里,可以通过下面的语句来实现:
certbotcertonly--standalone-dexample.com-dwww.example.com??使用这个语句时Certbot会自动启用网站的443端口来进行验证,如果你有某些服务占用了443端口,就必须先停止这些服务,然后再用这种方式申请证书。
??证书申请完之后,Certbot会告诉你证书所在的目录,一般来说会在/etc/letsencrypt/live/这个目录下。
图形化??进入便宜SSL的官网,注册了账号之后,选择那个体验版的免费测试,然后点确认购买。
??输入域名并点击生成CSR并提交申请按钮。
??点击确定按钮。
??接下来会选择验证方式。
??这里我选择邮箱验证方式,其它另外两种依照你的个人情况而定,反正就是为了验证域名是不是你的而已。
??大约过几分钟,邮箱会收到一封验证邮件,如下图,复制②指向的一串验证码,点击①处的Here链接。
??输入验证码,点击Next>按钮。
??提示已经输入正确的验证码,点击CloseWindow。
??大约等到10分钟左右,再次登陆,进入个人中心,可以看到已经成功申请SSL证书,点击查看详情。
??此时你可以点击箭头所指的证书打包下载,然后免费的SSL证书就可以下载到本地了,下载后可以看到SSL压缩包内的文件。
部署HTTPS证书??找到网站的Nginx配置文件,找到listen80;,修改为listen443;在这一行的下面添加以下内容:
sslon;ssl_certificateXXX/fullchain.pem;修改为fullchain.pem所在的路径ssl_certificate_keyXXX/privkey.pem;修改为privkey.pem所在的路径ssl_session_timeout5m;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocolsTLSv1TLSv1.1TLSv1.2;ssl_prefer_server_cipherson;??保存退出后,通过nginx-t来检查配置文件是否正确,有错误的话改之即可。配置文件检测正确之后,通过nginx-sreload来重载配置文件。
??然后通过访问来查看是否配置成功。
??如果发现无法访问或者是加载不出来的话检查一下443端口有没有开启!
设置HTTP强制跳转HTTPS??上一步成功之后大家可能会发现通过原来的无法访问网页了,因为HTTP默认走的是80端口,我们刚才将其修改为443端口了。在这里我们可以在配置文件的最后一行加入以下代码:
server{listen80;server_nameexample.com;这里修改为网站域名rewrite^(.*)$https://$host$1permanent;}意思是每一个通过80端口访问的请求都会强制跳转到443端口,这样一来访问的时候就会自动跳转到了。
命令行下设置证书自动续期??有心的小伙伴可能会留意到我们刚才申请的整数的有效期只有90天,不是很长,可是我们可以通过Linux自带的cron来实现自动续期,这样就相当于永久了。
??随便找一个目录,新建一个文件,名字随便起,在这里以example为例,在里面写入0*/12***certbotrenew--quiet--renew-hook"/etc/init.d/nginxreload",保存。
??然后在控制台里执行crontabexample一切都OK了。原理是example里存入了一个每天检查更新两次的命令,这个命令会自动续期服务器里存在的来自Certbot的SSL证书。然后把example里存在的命令导入进Certbot的定时程序里。
附:其它环境下的证书部署??
Nginx相关命令nginx-t验证配置是否正确nginx-v查看Nginx的版本号servicenginxstart启动Nginxnginx-sstop快速停止或关闭Nginxnginx-squit正常停止或关闭Nginxnginx-sreload重新载入配置文件crontab相关命令cat/var/log/cron查看crontab日志crontab-l查看crontab列表crontab-e编辑crontab列表systemctlstatuscrond.service查看crontab服务状态systemctlrestartcrond.service重启crontab参考文档
ssl证书怎么替换新证书?
1、将网站地址确定后提交到安信证书上进行SSL证书申请。
2、根据提示要求进入域名注册商添加解析。
3、大约十几分钟拿到SSL证书,配置到服务器就可以了。
4、最后替换证书文件,如果不会可以让安信证书操作完成。
花生壳怎么获取ssl证书?
1
确定需要获取SSL证书的域名。特别注意:需要可以操作域名解析,否则无法申请。如果是公网IP需要开放80端口。
2
提交域名或者是公网IP进行认证,可选方案(GWORG)。
3
根据提示要求解析域名或者上传文件,1-15分钟后就可以获取SSL证书文件。