https配置

目录

步骤1 数字证书和openssl介绍

数字证书

  1、原理

  2、特点

  3、相关作用

  4、工作原理

  5、颁发过程

  6、授权机构

  7、数字签名

  8、应用分类

服务器证书

电子邮件证书

客户端证书

  9、标准格式

  10、申请方法

  11、使用方法

  openssl

  openssl组成

 openssl优缺点

openssl功能

步骤2 nginx配置https

  一、生成证书

二、修改nginx配置


正文开始✌

步骤1 数字证书和openssl介绍

数字证书

数字证书是一种权威性的电子文档,由权威公正的第三方机构,即CA(例如Global Sign,江苏CA)中心签发的证书。   

它以数字证书为核心的加密技术(加密传输、数字签名、数字信封等安全技术)可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性及交易的不可抵赖性。使用了数字证书,即使您发送的信息在网上被他人截获,甚至您丢失了个人的账户、密码等信息,仍可以保证您的账户、资金安全。
  它能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份。当然在数字证书认证的过程中证书认证中心(CA)作为权威的,公正的,可信赖的第三方;其作用是至关重要的.如何判断数字认证中心公正第三方的地位是权威可信的,国家工业和信息化部以资质合规的方式,陆续向天威诚信数字认证中心等30家相关机构颁发了从业资质。
  由于Internet网电子商务系统技术使在网上购物的顾客能够极其方便地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险.为了保证互联网上电子交易及支付的安全性,保密性等,防范交易及支付过程中的欺诈行为,必须在网上建立一种信任机制。这就要求参加电子商务的买方和卖方都必须拥有合法的身份,并且在网上能够有效无误的被进行验证。
  数字证书可用于:发送安全电子邮件、访问安全站点、网上证券交易、网上招标采购、网上办公、网上保险、网上税务、网上签约和网上银行等安全电子事务处理和安全电子交易活动。


  1、原理

数字证书里存有很多数字和英文,当使用数字证书进行身份认证时,它将随机生成128位的身份码,每份数字证书都能生成相应但每次都不可能相同的数码,从而保证数据传输的保密性,即相当于生成一个复杂的密码。
  数字证书绑定了公钥及其持有者的真实身份,它类似于现实生活中的居民身份证,所不同的是数字证书不再是纸质的证照,而是一段含有证书持有者身份信息并经过认证中心审核签发的电子数据,可以更加方便灵活地运用在电子商务和电子政务中。


  2、特点

安全性

(1)为了避免传统数字证书方案中,由于使用不当造成的证书丢失等安全隐患,支付宝创造性的推出双证书解决方案:支付宝会员在申请数字证书时,将同时获得两张证书,一张用于验证支付宝账户,另一张用于验证会员当前所使用的计算机。(2)第二张证书不能备份,会员必须为每一台计算机重新申请一张。这样即使会员的数字证书被他人非法窃取,仍可保证其账户不会受到损失。(3)支付盾是一个类似于U盘的实体安全工具,它内置的微型智能卡处理器能阻挡各种的风险,让您的账户始终处于安全的环境下。目前,为保证电子邮件安全性所使用的方式是数字证书。


  唯一性
  支付宝数字证书根据用户身份给予相应的网络资源访问权限(2)申请使用数字证书后,如果在其他电脑登录支付宝账户,没有导入数字证书备份的情况下,只能查询账户,不能进行任何操作,这样就相当于您拥有了类似“钥匙”一样的数字凭证,增强账户使用安全。


  方便性
  即时申请、即时开通、即时使用。(2)量身定制多种途径维护数字证书,例如通过短信,安全问题等。(3)不需要使用者掌握任何数字证书相关知识,也能轻松掌握。


  3、相关作用


  基于Internet网的电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险。买方和卖方都必须对于在因特网上进行的一切金融交易运作都是真实可靠的,并且要使顾客、商家和企业等交易各方都具有绝对的信心,因而因特网(Internet)电子商务系统必须保证具有十分可靠的安全保密技术,也就是说,必须保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。

  4、工作原理

数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。在公开密钥密码体制中,常用的一种是RSA体制。其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥),在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,而保留其私有密钥。购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送给商户,然后由商户用自己的私有密钥进行解密。
  用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
  保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
  保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。


  5、颁发过程

数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。


  6、授权机构


CA机构,又称为证书授证(Certificate Authority)中心,作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。由此可见,建设证书授权(CA)中心,是开拓和规范电子商务市场必不可少的一步。为保证用户之间在网上传递信息的安全性、真实性、可靠性、完整性和不可抵赖性,不仅需要对用户的身份真实性进行验证,也需要有一个具有权威性、公正性、唯一性的机构,负责向电子商务的各个主体颁发并管理符合国内、国际安全电子交易协议标准的电子商务安全证书。


  7、数字签名

将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
  将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名。
  接收方收到数字签名后,用同样的HASH算法对原报文计算出报文摘要值,然后与用发送者的公开密钥对数字签名进行解密解开的报文摘要值相比较。如相等则说明报文确实来自所称的发送者。
  那为什么是对报文摘要进行加密,而不是对原报文进行加密呢?这是因为非对称加密算法(即RSA算法)非常耗时,被加密的报文越大,耗得时间越多,因此聪明的人类对其摘要进行加密,(因为报文摘要是要比原报文小得多),仍然能够起到同样的作用。这是为什么多了个报文摘要。


  8、应用分类


  基于数字证书的应用角度分类,数字证书可以分为以下几种:


服务器证书


  服务器证书(SSL证书)被安装于服务器设备上,用来证明服务器的身份和进行通信加密。服务器证书可以用来防止欺诈钓鱼站点。
  在服务器上安装服务器证书后,客户端浏览器可以与服务器证书建立SSL连接,在SSL连接上传输的任何数据都会被加密。同时,浏览器会自动验证服务器证书是否有效,验证所访问的站点是否是假冒站点,服务器证书保护的站点多被用来进行密码登录、订单处理、网上银行交易等。全球知名的服务器证书品牌有Globlesign,Verisign,Thawte,Geotrust等。SSL证书主要用于服务器(应用)的数据传输链路加密和身份认证,绑定网站域名,不同的产品对于不同价值的数据和要求不同的身份认证。

最新的高端SSL证书产品是扩展验证(EV)SSL证书。在IE7.0、FireFox3.0、Opera9.5等新一代高安全浏览器下,使用扩展验证VeriSign(EV)SSL证书的网站的浏览器地址栏会自动呈现绿色,从而清晰地告诉用户正在访问的网站是经过严格认证的。


电子邮件证书

电子邮件证书可以用来证明电子邮件发件人的真实性。它并不证明数字证书上面CN一项所标识的证书所有者姓名的真实性,它只证明邮件地址的真实性。
收到具有有效电子签名的电子邮件,我们除了能相信邮件确实由指定邮箱发出外,还可以确信该邮件从被发出后没有被篡改过。另外,使用接收的邮件证书,我们还可以向接收方发送加密邮件。该加密邮件可以在非安全网络传输,只有接收方的持有者才可能打开该邮件。


客户端证书

客户端证书主要被用来进行身份验证和电子签名。
安全的客户端证书我被存储于专用的usbkey中。存储于key中的证书不能被导出或复制,且key使用时需要输入key的保护密码。使用该证书需要物理上获得其存储介质usbkey,且需要知道key的保护密码,这也被称为双因子认证。这种认证手段是目前在internet最安全的身份认证手段之一。key的种类有多种,指纹识别、第三键确认,语音报读,以及带显示屏的专用usbkey和普通usbkey等。
  目前的数字证书在广义上可分为:个人数字证书、单位数字证书、单位员工数字证书、服务器证书、VPN证书、WAP证书、代码签名证书和表单签名证书。


  9、标准格式


目前数字证书的格式普遍采用的是X.509V3国际标准,一个标准的X.509数字证书包含以下一些内容:
证书的版本信息;证书的序列号,每个证书都有一个唯一的证书序列号;证书所使用的签名算法;证书的发行机构名称,命名规则一般采用X.500格式;证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;证书所有人的名称,命名规则一般采用X.500格式;证书所有人的公开密钥;证书发行者对证书的签名。
依据《电子认证服务管理办法》《中华人民共和国电子签名法》,目前国内有30家机构获得相关资质,具体资质可以查询工业信息化部网站。


  数字证书文件格式(cer和pfx)的区别:
  作为文件形式存在的证书一般有这几种格式:
  1)带有私钥的证书由Public Key Cryptography Standards#12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。
  2)二进制编码的证书证书中没有私钥,DER编码二进制格式的证书文件,以cer作为证书文件后缀名。
  3)Base64编码的证书证书中没有私钥,BASE64编码格式的证书文件,也是以cer作为证书文件后缀名。


由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。
在pfx证书的导入过程中有一项是“标志此密钥是可导出的。这将您在稍候备份或传输密钥”。一般是不选中的,如果选中,别人就有机会备份你的密钥了。如果是不选中,其实密钥也导入了,只是不能再次被导出。这就保证了密钥的安全。
如果导入过程中没有选中这一项,做证书备份时“导出私钥”这一项是灰色的,不能选。只能导出cer格式的公钥。如果导入时选中该项,则在导出时“导出私钥”这一项就是可选的。
如果要导出私钥(pfx),是需要输入密码的,这个密码就是对私钥再次加密,这样就保证了私钥的安全,别人即使拿到了你的证书备份(pfx),不知道加密私钥的密码,也是无法导入证书的。相反,如果只是导入导出cer格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不用加密。


  10、申请方法

 一般来讲,用户要携带有关证件到各地的证书受理点,或者直接到证书发放机构即CA中心填写申请表并进行身份审核,审核通过后交纳一定费用就可以得到装有证书的相关介质(磁盘或Key)和一个写有密码口令的密码信封。
域名型的证书申请的时候,无须递交书面审查资料,仅需进行域名有效性验证,网上申请。而企业型证书需要进行严格的网站所有权的真实身份验证,证书标示企业组织机构详情,强化信任度。增强型证书除了进行严格的网站所有权的真实身份验证之外,还加入第三方验证,证书标示增强组织机构详情,强化信任度。


  11、使用方法

用户在进行需要使用证书的网上操作时,必须准备好装有证书的存储介质。如果用户是在自己的计算机上进行操作,操作前必须先安装CA根证书。一般所访问的系统如果需要使用数字证书会自动弹出提示框要求安装根证书,用户直接选择确认即可;当然也可以直接登陆CA中心的网站,下载安装根证书。
操作时,一般系统会自动提示用户出示数字证书或者插入证书介质(IC卡或Key),用户插入证书介质后系统将要求用户输入密码口令,此时用户需要输入申请证书时获得的密码信封中的密码,密码验证正确后系统将自动调用数字证书进行相关操作。使用后,用户应记住取出证书介质,并妥善保管。当然,根据不同系统数字证书会有不同的使用方式,但系统一般会有明确提示,用户使用起来都较为方便。


  openssl

openssl是一个开放源代码的SSL协议的产品实现,采用C语言作为开发语言,具备了跨系统的性能。
  openssl最早版本在1995年发布的,1998年后开始由openssl项目组维护和开发。openssl的源代码库可以从官网链接: https://www.openssl.org/.支持Linux、Windows、MAC和VWS等多种平台。目前,openssl已经获得广泛运用,例如VOIP的openH323协议、Apache服务器、Linux安全模块等。


  openssl组成

openssl实际上包含三部分:SSL协议库、密码算法库、应用程序。
  SSL协议库部分完全实现了SSL协议的三个版本和TLS协议,SSL协议库的实现是由密码算法库的基础上实现的。使用该库,可以完整的建立一个SSL服务器和SSL客户端。该部分在Linux下编译会形成一个明文libssl.a的库,在Windows下则是名为ssleay32.lib的库。
  openssl密码算法库是一个强大完整的密码算法库,主要包括公开密钥算法、对称加密算法、散列函数算法、X.509数字证书标准、PKCS12、PKCS7等标准。该部分在Linux下编译会形成一个明文libcrypto.a的库,在Windows下则是名为libeay32.lib的库。
  应用程序部分是Openssl最生动的部分,也是openssl使用入门的部分。该部分基于上述的密码算法库和SSL协议实现很多实用和范例性的应用程序,主要包括各种算法的加密程序和各种密钥的产生程序(例如rsa、md5、enc等)、证书签发和验证程序(ca、x509,crl等)、SSL连接测试程序,以及其他的标准程序等。


 openssl优缺点

与其他的一些同类型的密码算法库相比,openssl有以下优点:  

  采用C语言开发,支持多种操作系统,可移植性好;
  功能全面,支持大部分主流密码算法、相关标准协议和SSL协议;
  开放源代码,可信任,能根据自己需要进行修改,对技术人员有借鉴和研究的价值;
  具备应用程序,既能直接使用,也可方便地进行二次开发;
  免费,也可用作非商业用途。

  有以下缺点:
  采用非面向对象的C语言开发,对于初学者来说有一定的困难,也不利于代码的剥离;
  文档不全面、增加使用的困难性;
  总的来说,openssl是一个非常优秀的软件包,很值得密码安全技术人员的研究和使用。


openssl功能

  介绍其主要功能:
  对称加密算法:openssl提供八种加密算法,其中7种是分组密码加密,AES(128bit)、DES、blowfish、CAST、IDEA、RC2、RC4、,仅有的一个是流密码算法RC4
  非对称加密算法:DH(密钥交换)、RSA(密钥交换、数字签名、加密(速度慢))、DSA(数字签名)、EC
  信息摘要算法:MD2、MD5、MDC2、SHA(SHA1)和RIPEMD
  密钥和证书管理
  SSL和TLS协议
  应用程序:也就是openssl的指令,供测试或者其他目的的使用


步骤2 nginx配置https


  一、生成证书

cd /usr/local/nginx/conf/

mkdir ssl

cd ssl

openssl genrsa -des3 -out wangyongning.com.key 1024

密码:123456

查看

openssl req -new -key wangyongning.com.key -out wangyongning.com.csr

cp wangyongning.com.key wangyongning.com.key.bak

openssl rsa -in wangyongning.com.key.bak -out wangyongning.com.key

openssl x509 -req -days 365 -in wangyongning.com.csr -signkey wangyongning.com.key -out wangyongning.com.crt

二、修改nginx配置

cd /usr/local/nginx/conf/vhost

vi proxy.conf

server {

    listen       443 ssl;

    server_name  192.168.30.3;

    ssl_certificate      /usr/local/nginx/conf/ssl/wangyongning.com.crt;

    ssl_certificate_key  /usr/local/nginx/conf/ssl/wangyongning.com.key;

    ssl_session_timeout  5m;

    ssl_protocols  SSLv2 SSLv3 TLSv1;

    ssl_ciphers  HIGH:!aNULL:!MD5;

    ssl_prefer_server_ciphers   on;

    location / {

      proxy_pass http://192.168.30.3;

    }

  }

重载nginx

systemctl daemon-reload

systemctl restart nginx.service

报错

查看模块

更新配置信息

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

会报错没有那个目录,需在/usr/local/nginx-1.17.6下执行

运行命令make。不要运行make install,否则会覆盖安装

备份原有已安装好的nginx

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)

systemctl stop nginx

systemctl status nginx

cp ./objs/nginx /usr/local/nginx/sbin/

systemctl start nginx

查看模块

访问https://192.168.30.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值