`

现在还能使用的SSL(FREE)认证机构。

 
阅读更多

StartSSL 已死。 17年五月之后将不再颁发Free证书。

申请后永远是等待中。


所以请使用 'Let's Encrypt'免费且受信任的机构.



1.确保服务器安装GIT 环境。

2.确保PYTHON版本大于 2.7.1





第一步,从github克隆letsencrypt的开源脚手架
git clone https://github.com/letsencrypt/letsencrypt







第二步,开始配置你的证书


cd letsencrypt

./letsencrypt-auto certonly --standalone --email 你的邮箱@.com -d 你的域名.com -d www.你的域名.com







过程大约三分钟。



如果出现报错:

 Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 2363, in <module>
    main()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 988, in create_environment
    download=download,
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 918, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 812, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /opt/eff.org/certbot/venv/bin/python2.7 - setuptools pkg_resources pip wheel failed with error code 2
root@iZbp1j2710orfy6c8xo5cbZ:/home/letsencrypt# OSError: Command /opt/eff.org/certbot/venv/bin/python2.7 - setuptools pkg_resources pip wheel failed with error code 2






请更新virtualenv


sudo pip install --upgrade virtualenv



再重复敲一遍配置命令即可!


Agree

Yes


如果你配置了邮箱,它会需要你验证。根据提示操作即可。




完成Let's Encrypt证书的生成后,在

"/etc/letsencrypt/live/你的域名.com/"

目录下有4个文件

cert.pem        - Apache服务器端证书

chain.pem       - Apache根证书和中继证书

fullchain.pem   - Nginx所需要ssl_certificate文件

privkey.pem     - 安全证书KEY文件



如果用的Nginx

配置如下



# SSL configuration
	
listen 443 ssl default_server;
ssl on;

ssl_certificate /etc/letsencrypt/live/你的域名.com/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/你的域名.com/privkey.pem;

server_name www.你的域名.com;







Let's Encrypt证书是有效期90天。


快要过期的时候


直接


./letsencrypt-auto certonly --renew-by-default --email 你的邮箱@.com -d 你的域名.com -d www.你的域名.com



这样即可完成更新继续免费使用。

分享到:
评论
2 楼 沈寅麟 2017-12-01  
PEM格式证书转换为jks文件

转换为pkcs12格式:

~/tmp/cert# openssl pkcs12 -export -in public.crt -inkey private.pem -out server.p12 -name server -passin pass:${passwd} -passout pass:${passwd}
~/tmp/cert# ll
total 16
-rw-r--r-- 1 root root  664 Jun 14 20:43 cert.csr
-rw-r--r-- 1 root root  963 Jun 14 20:27 private.pem
-rw-r--r-- 1 root root  871 Jun 14 20:44 public.crt
-rw-r--r-- 1 root root 1682 Jun 14 20:55 server.p12
导入到jks中:

~/tmp/cert# keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass ${passwd} -alias server -deststorepass ${passwd} -destkeypass ${passwd} -destkeystore ServerCert.jks
~/tmp/cert# ll
total 20
-rw-r--r-- 1 root root  664 Jun 14 20:43 cert.csr
-rw-r--r-- 1 root root  963 Jun 14 20:27 private.pem
-rw-r--r-- 1 root root  871 Jun 14 20:44 public.crt
-rw-r--r-- 1 root root 1372 Jun 14 20:57 ServerCert.jks
-rw-r--r-- 1 root root 1682 Jun 14 20:55 server.p12
1 楼 沈寅麟 2017-12-01  
Let’s Encrypt证书的默认有效期只有90天,所以需要定时更新服务端的证书避免过期

一条命令更新所有服务端的证书

./letsencrypt-auto renew
添加为定时任务, 编辑这个文件

sudo vi /etc/cron.monthly/letsencrypt_renew
添加如下内容:

#!/bin/sh
/path/to/letsencrypt/letsencrypt-auto --debug renew > /var/log/letsencrypt/renew.log 2>&1
授予/etc/cron.monthly/letsencrypt_renew可执行权限

sudo chmod a+x /etc/cron.monthly/letsencrypt_renew

作者:figotan
链接:http://www.jianshu.com/p/ba2a384e89ec
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关推荐

    activemq ssl双向认证连接

    在这个场景中,我们将深入探讨如何在Java工程中使用ActiveMQ实现SSL双向认证连接。 首先,让我们了解SSL双向认证的基本概念。在传统的SSL单向认证中,客户端只需要验证服务器的身份,而服务器无需验证客户端。而在...

    android 使用HttpsURLConnection方式的SSL双向认证

    此项目“android 使用HttpsURLConnection方式的SSL双向认证”着重讲解了如何在Android应用中通过HttpsURLConnection实现SSL的客户端和服务器端之间的双向身份验证,确保通信的隐私和完整性。 首先,我们需要理解SSL...

    SSL双向认证SSL双向认证

    SSL(Secure Sockets Layer)双向认证,又称为mutual SSL authentication,是网络安全协议中的一个关键概念,用于在互联网上提供安全通信。它扩展了传统的单向认证机制,不仅服务器需要验证客户端的身份,客户端也...

    SSL双向认证握手过程 非常详细

    SSL双向认证握手过程详解 SSL双向认证握手过程是SSL/TLS协议中的一种身份验证机制,用于确保客户端和服务器之间的通信安全。本文将详细介绍SSL双向认证握手过程的每个步骤,并解释相关的数据结构和加密算法。 第一...

    Java ssl socket 双向认证

    双向认证通常在高安全性环境中使用,例如银行、政府机构或企业内部网络,因为它们需要确保通信双方都是可信的。 首先,为了实现双向认证,我们需要准备以下元素: 1. **证书**:每个参与方(客户端和服务器)都...

    Java实现SSL双向认证的方法

    在SSL双向认证中,服务器和客户端都需要拥有各自的数字证书,这些证书由可信任的证书颁发机构(CA)签署,以证明它们的身份。当客户端连接到服务器时,不仅需要验证服务器的证书,服务器也需要验证客户端的证书,确保...

    SSL经摘要认证传输

    - `.doc` 文件可能包含了关于如何配置和使用SSL摘要认证的文档。 - `MiniSniffer.exe` 可能是一个网络嗅探工具,用于监控和分析SSL通信,以确保数据传输的安全性。 - `passfile产生工具.exe` 和 `passfile.txt` 可能...

    Tomcat6配置使用SSL双向认证

    SSL双向认证不仅能够保护数据传输的安全性,还能确保通信双方的身份验证,这对于金融、医疗等对安全性要求极高的行业至关重要。本文将深入探讨如何在Tomcat6中实现SSL双向认证,包括证书的生成、配置以及应用。 ###...

    Tomcat下使用ssl实现双向认证[网络安全]

    本篇文章将深入探讨如何在Tomcat环境下配置SSL,实现双向认证,确保服务器与客户端之间的通信更加安全。 首先,我们要理解SSL的原理。SSL是一种网络协议,它通过加密技术为互联网上的通信提供安全保护。双向认证,...

    SSL双向认证证书制作过程流程

    SSL双向认证证书制作过程主要涉及网络安全领域,尤其是用于保护网络通信的安全套接层(SSL)和传输层安全(TLS)协议。这些协议确保了数据在互联网上传输时的加密和完整性,防止中间人攻击和数据泄露。以下是SSL双向...

    android访问自签CA的Https SSL双向认证(j2SE也能使用)

    在Android 7.0及以上版本,还需要在应用的清单文件中声明使用不受信任的凭据。 3. **处理双向认证**:除了验证服务器证书,客户端也需要提供一个客户端证书给服务器进行身份验证。为此,需要创建一个包含了客户端...

    易语言SSL双向认证

    易语言SSL双向认证源码,SSL双向认证,设置证书文件,连接,取Socket句柄,建立SSL连接,断开连接,取服务器IP,发送数据,取回数据,取消息类型,标记参数是否正确,取服务端SSL算法,服务端是否有证书,取服务端证书内容,启动...

    java实现-SSL双向认证1.docx

    Java中的SSL双向认证是一种安全通信的方法,用于在网络中保护数据传输的安全性。它结合了SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议,这些协议提供了数据加密、服务器验证以及客户端验证等...

    netty实现SSL/TSL双向加密认证示例

    在本文中,我们将深入探讨如何使用 Netty 实现 SSL/TLS(Secure Sockets Layer/Transport Layer Security)双向加密认证。SSL/TLS 是互联网上广泛采用的安全通信协议,确保数据在网络传输过程中保持私密性和完整性。...

    ssl双向认证 ,客户端c代码

    包括了如何使用openssl指令生成客户端-服务端的证书和密钥,以及使用openssl自带server端来实现简单的ssl双向认证,client端代码中也做了相应的标注和说明,提供编译的Makefile.希望对开始学习如何使用openssl进行...

    elasticsearch开启ssl安全认证和跨集群访问配置

    本人记录了elasticsearch开启ssl安全认证和跨集群访问配置

    Weblogic配置SSL双向认证

    Weblogic 配置 SSL 双向认证 Weblogic 配置 SSL 双向认证是为了确保 Web 应用程序的安全性和加密性。SSL(Secure Sockets Layer)是用于加密 Internet 通信的安全协议。双向认证是指客户端和服务端都需要验证对方的...

    MySQL 使用 SSL 连接配置详解

    MySQL 使用SSL连接配置详解 在现代数据库管理中,安全性是至关重要的,SSL(Secure Sockets Layer)连接为MySQL提供了一种加密数据传输的方式,确保了客户端和服务器之间的通信不被窃听或篡改。本文将详细介绍如何...

    SSL认证配置与安装

    SSL认证配置与安装是网络安全领域中的重要环节,主要用于加密网络通信,确保数据传输的安全性。以下是对这个主题的详细说明: SSL(Secure Sockets Layer)是互联网上广泛使用的安全协议,用于建立加密链接,保护...

Global site tag (gtag.js) - Google Analytics