http://blog.sina.com.cn/s/blog_6ad624380101ido7.html
nginx下载 http://www.nginx.org/en/download.html
openssl下载: http://www.openssl.org/source/ 版本:1.0.1f
1.注意:OPENSSL不需要安装,只需要解压出来就行。不然在编译时会提示类似以下的错误:
make[1]: Entering directory `/root/nginx'
cd /server/openssl \
&& make clean \
&& ./config --prefix=/server/openssl/openssl no-shared no-threads \
&& make \
&& make install
make[2]: Entering directory `/server/openssl'
make[2]: *** No rule to make target `clean'. Stop.
make[2]: Leaving directory `/server/openssl'
make[1]: *** [/server/openssl/openssl/include/openssl/ssl.h] Error 2
make[1]: Leaving directory `/root/nginx'
make: *** [build] Error 2
2.安装Nginx的时候,把openssl路径指定到解压出来的路径:
./configure --with-http_stub_status_module --with-http_ssl_module --with-openssl=/root/openssl --with-http_gzip_static_module --with-http_stub_status_module
之后是一个漫长的等待时间
3、生成RSA密钥的方法
openssl genrsa -des3 -out privkey.pem 2048
这个命令会生成一个2048位的密钥,同时有一个des3方法加密的密码,如果你不想要每次都输入密码,可以改成:
openssl genrsa -out privkey.pem 2048
建议用2048位密钥,少于此可能会不安全或很快将不安全。
4、生成一个证书请求
openssl req -new -key privkey.pem -out cert.csr
这个命令将会生成一个证书请求,当然,用到了前面生成的密钥privkey.pem文件
这里将生成一个新的文件cert.csr,即一个证书请求文件,你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。
如果是自己做测试,那么证书的申请机构和颁发机构都是自己。就可以用下面这个命令来生成证书:
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
这个命令将用上面生成的密钥privkey.pem生成一个数字证书cacert.pem
5.Nginx配置中,需要修改的地方:
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate /usr/local/nginx/conf/cacert.pem;
ssl_certificate_key /usr/local/nginx/conf/privkey.pem;
server_name 192.168.10.70
ssl_session_timeout 5m;
}
6.在iptables中打开ssl使用到的443端口,重启iptables.
7.测试。访问时,发现有提示需要证书,应该成功了。
相关推荐
下面简要介绍如何使用OpenSSL来生成客户端和服务器端的数字证书: 1. **生成私钥**:使用`openssl genpkey`命令生成私钥。 2. **创建证书请求**:使用`openssl req`命令创建证书请求文件。 3. **自签名证书**:如果...
`keytool`是Java Development Kit (JDK) 自带的一个命令行工具,用于管理密钥对和数字证书。 首先,我们需要理解SSL/TLS证书的基础知识。SSL(Secure Socket Layer)和其后续版本TLS(Transport Layer Security)是...
服务器需要拥有一个数字证书,其中包含公钥,而私钥则保存在服务器上,不对外公开。 在 Nginx 中配置 HTTPS,我们需要以下步骤: 1. **生成证书**: - `server.crt` 是服务器的公钥证书文件,通常由证书颁发机构...
1. 访问https://www.gmssl.cn/gmssl/index.jsp?go=ca,选择“国密数字证书”->“SM2”证书。 2. 按照提示填写证书申请信息,提交后下载证书压缩包。 五、导入证书至Nginx 1. 将下载的SM2证书文件(如sm2.sm2...
3. 证书格式转换:如果CA提供的证书格式与Nginx要求的格式不一致,可以使用OpenSSL进行转换,例如`openssl x509 -in certificate.crt -out certificate.pem -outform PEM`。 4. 下载根证书及中级根证书:为了建立...
通过`openssl`,Nginx可以处理SSL/TLS的握手过程,加密和解密数据,以及验证客户端的数字证书。 接下来是`zlib`。Zlib是一个免费的、跨平台的数据压缩库,广泛用于数据压缩和解压缩。在Nginx中,`zlib`主要用于启用...
**openssl** 是一个开源的密码学库,包含了各种常用的加密算法、数字证书、随机数生成器等功能。在服务器上安装openssl可以提供SSL/TLS支持,使得服务器能够处理HTTPS连接。这对于需要处理敏感信息的网站,如在线...
OpenSSL还支持证书管理,包括生成、验证和存储数字证书。 3. Zlib: Zlib是一个通用的、无损的数据压缩库,常用于HTTP压缩。Nginx可以利用Zlib对HTTP响应内容进行GZIP压缩,从而减少网络传输的数据量,提高网页...
Nginx配置中会使用openssl生成证书和密钥。 在实际应用中,GCC和Nginx的结合使用常常涉及到开发、测试和部署Web应用程序。开发者可能使用GCC编译C/C++程序,并通过Nginx提供静态资源和服务。同时,Nginx可以与后端...
SSL证书是由受信任的证书颁发机构(CA)签发的数字证书,包含了网站的身份信息和公钥,用于验证网站身份和建立加密连接。主要组成部分有:域名、组织信息、公钥和CA的签名。 加载SSL证书到Nginx需要两个文件:私钥...
通过这个“openssl生成的证书demo”,我们可以了解到OpenSSL在创建和管理数字证书方面的强大功能,这对于构建安全的网络服务和客户端应用至关重要。在理解和实践这些步骤后,你将能够更好地处理SSL/TLS证书相关的...
本文档详细介绍了在Windows系统下使用Nginx配置HTTPS服务器的全过程,包括安装OpenSSL、安装Nginx、生成证书以及配置Nginx等关键步骤。通过遵循上述指南,用户可以在本地或生产环境中搭建一个安全可靠的HTTPS服务器...
2. **证书管理**:可以生成、导入、导出和管理X.509数字证书,用于身份验证和数据加密。 3. **SSL/TLS协议支持**:提供SSLv2、SSLv3、TLSv1.0、TLSv1.1、TLSv1.2和TLSv1.3的支持,确保网络通信的安全。 4. **命令行...
证书是一个数字证书,它包含了服务器的公钥和私钥。我们可以使用OpenSSL工具来生成证书。 首先,我们需要安装OpenSSL和OpenSSL-devel: ``` # yum install openssl # yum install openssl-devel ``` 然后,我们可以...
OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,用于加密通信和创建数字证书。Nginx使用OpenSSL来支持HTTPS协议,提供安全的Web服务。版本1.1.1包含了最新的安全更新和性能改进,确保了与各种...
对于64位系统,则应下载Linux x64版本。 2. **安装JDK**: - 假设您下载的是`.tar.gz`格式的压缩包,例如`jdk-7u40-linux-i586.tar.gz`。 - 将该文件移动至`/usr/java`目录下。 - 解压缩文件:`tar -zxvf jdk-7...
1. **SSL证书**:这是用于验证网站身份并加密数据传输的数字证书。通常由权威的证书颁发机构(CA)签发,如Let's Encrypt、Comodo、Symantec等。 2. **公钥和私钥**:SSL证书包含一个公钥和一个与之配对的私钥。...
要启用HTTPS,服务器必须拥有一个数字证书,这个证书就是通过OpenSSL工具生成的。 **证书生成过程** 1. **生成私钥**:首先,我们需要使用OpenSSL生成一个私钥,这将用于签署和解密数据。命令通常如下: ``` ...
3. **数字证书**: 提供证书生成、签名、验证等功能,用于身份认证和防止中间人攻击。 4. **SSL/TLS服务器**: OpenSSL可以被集成到Web服务器中,如Apache或Nginx,以支持HTTPS服务。 5. **命令行工具**: 包含`openssl...
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt ``` 在这个过程中,你需要输入一些关于证书的信息,如国家、省份、城市、组织名、电子...