ssl配置

机密性:明文(plaintext)-->转换规则-->加密(ciphertext)

完整性:

对称加密:使用同一个密钥加密和解密信息,算法计算速度快,安全性完全依赖于密钥

意向加密算法:提取数据特征码(指纹),校验数据的完整性

输入一样,输出必然相同

雪崩效应:输入的微小改变,将会引起结果的巨大改变

定长输出:无论原始数据是多大,结果大小都是相同的

不可逆:无法根据特征码还原原来的数据

协商生成密码:密钥交换(Internet Key Exchange,IKE),密钥交换需要使用互联网协议支撑,协议如下:

diffie-hellman协议(比较早的),工作如下:

A-->B

P ,g(大素数,生成数)

A:x

B: y

A: g^x%p -->B

B: g^y%p -->A

A:(g^y%p)^x=g^yx%p

B:(g^x%p)^y=g^xy%p

共同的密钥为:g^xy%p

非对称加密算法:公钥加密算法

密钥对:

公钥:P

私钥:S

发送方使用自己的私钥加密数据,可以实现身份验证

发送方使用对方的公钥加密数据,可以保证数据机密性

公钥加密算法,很少用来加密数据,速度太慢

PKI:Public key Infrastructure

CA:certificate authority

证书格式:X509,pkcs12

x509包含的信息:

1、公钥及有效期限

2、证书的合法拥有者

3、证书该如何被使用

4、CA的信息

5、CA签名的校验码

PKI:TLS/SSL:X509格式的证书

PKI:OpenGPG:

CRL:CA中证书吊销列表

TLS/SSL Handshake

SSL:secure socket layer

TLS:Transport layer security

对称加密算法:

DES(早期):Data Encrption Standard,56bit

3DES

AES:Advancd Data Encrption Standard,128bit

AES192,AES256,AES512

Blowfish

单向加密:

MD4

MD5:128bit

SHA1:160bit

SHA192,SHA256,SHA384

CRC-32:循环冗余校验

非对称加密,也叫公钥加密:(加密签名)

RSA:即可加密还可以签名

DSA:签名

ElGamal:商业算法

非对称加密的作用:

身份认证(数字签名)

数据加密

密钥交换

管理加密的软件:

Openssl

GPG

OpenSSL:ssl的开源实现

组成部分:

libcrypto:通用加密库

libssl:TLS/SSL的实现

基于会话的,实现了身份认证,数据机密性和会话完整性的TLS/SSL库

openssl:多用途命令行工具

实现私有证书颁发机构

Openssl命令:

speed:测试算法的速度

enc:对文件加密

openssl实现私有CA:

  1、生成一对密钥

[[email protected] ~]# openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modulus
....................++++++
....++++++
e is 65537 (0x10001)
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDcho9k5FoZj7Q23aFyWbLJAHKeglvRKckyFM//RWjU27xfivNd
iPaFmuEJukVeSPA+gTgwuFCk+Uwuwsmq+kqQO1cfNpoGfRgAIHKe8h7ovPr74IT+
0/wMXeiXtOMN6JMe+jBkqPbnAcqkmqk6tUrOMbj9+4eXWEBB91kBsBBFewIDAQAB
AoGBAI9RZB/NyECUhCqkHyiR4v9+qv8Y+VMWNQu3OvZLxbWQmPv+8er3+D8cSORp
imucO4ZjtID1SHPvEPPS4/2abJnaXRjl9eMCZzAw1fb4hHXoGVFzdFZ5oeHFaBMT
dYxdlOVjDeHOAeq0UorEud2lIbXF6ZPdX+Q2cfqqV6PHVmkBAkEA/uyNWoERKP55
joII65LXJBCIodT3jAXGUoLoJJtO/jzg2Xrh39xowHU0MeY3nji+SUDsvoDYfbW8
R+jyVLXM1QJBAN101xUh8bhwKF+CtwU6bmugDf/CPaDeERuvx9MpW44B+z42ih56
g1CLfbuhiAAvtmz+KdDQfz+TpsoP/8iisQ8CQBF+B+EK9DN86rhlodkQVWTrIYUB
SQ85ojctNmK0qYH2iXNC5FbpF+ME59T4uB5KRHxgUR5tVu2hV88TY/V+GBUCQGPJ
0V0hZYVhbJ/VC9lcQgNXJNe5VAHX7seWBqnc+fdcZzTaaJRhSiiSIn7Yw6qp1T75
rCf+u0gPpVlpqi1jOfsCQQDesjYIBgNUlg+HslmgROBA+C1TU2oCuc/s/W3zoz/k
+QAKkIWEkiRz0CgF6GK69fKOqZ+hHMMVm4QU+XeQnYZu
-----END RSA PRIVATE KEY----- 
#生成私钥,指定生成算法为rsa,长度为1024
[[email protected] ~]# openssl rsa -in server.key -pubout
writing RSA key
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOvGgRSVCVVH9OyEzLsf0ao/Z4
l+IDfL5BMJTKY2VZiJTnkljNDpcj1ZU3aZbH9S9ScHwGneB76yewUGvAIyLvOIDf
1dK2pSE4oBnaoakLfHA7L/xiYuQjxt4uF0V34mHxAFjeIZpUg2pqhFObdBn/K+xa
Z2Nv+Cm6gW6xOhlRqQIDAQAB
-----END PUBLIC KEY-----
#从私钥指定的文件中生成公钥

   2、生成自签署证书  

[[email protected] ~]# openssl req -new -x509 -key server.key -out server.crt -days 365
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) [XX]:CN
State or Province Name (full name) []:shanghai
Locality Name (eg, city) [Default City]:shanghai    
Organization Name (eg, company) [Default Company Ltd]:ogilvy 
Organizational Unit Name (eg, section) []:Tech    
Common Name (eg, your name or your server‘s hostname) []:ogilvy-server
Email Address []:[email protected]
[[email protected] ~]# ll
total 84
drwxr-xr-x. 2 root root  4096 May  8 11:57 Server.bak
-rw-------. 1 root root  1394 Apr 21 11:07 anaconda-ks.cfg
-rw-------. 1 root root   745 Apr 21 13:00 grub.conf_
-rw-r--r--. 1 root root 45941 Apr 21 11:07 install.log
-rw-r--r--. 1 root root 10033 Apr 21 11:04 install.log.syslog
-rw-r--r--. 1 root root  1074 May 28 16:30 server.crt
-rw-r--r--. 1 root root   891 May 28 16:17 server.key
[[email protected] ~]# openssl x509 -text -in server.crt #查看证书并以文本方式输出
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 13458625215858170171 (0xbac6a453b457593b)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=CN, ST=shanghai, L=shanghai, O=ogilvy, OU=Tech, CN=ogilvy-server/[email protected]
        Validity
            Not Before: May 28 08:30:51 2015 GMT
            Not After : May 27 08:30:51 2016 GMT
        Subject: C=CN, ST=shanghai, L=shanghai, O=ogilvy, OU=Tech, CN=ogilvy-server/[email protected]
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (1024 bit)
                Modulus:
                    00:ce:bc:68:11:49:50:95:54:7f:4e:c8:4c:cb:b1:
                    fd:1a:a3:f6:78:97:e2:03:7c:be:41:30:94:ca:63:
                    65:59:88:94:e7:92:58:cd:0e:97:23:d5:95:37:69:
                    96:c7:f5:2f:52:70:7c:06:9d:e0:7b:eb:27:b0:50:
                    6b:c0:23:22:ef:38:80:df:d5:d2:b6:a5:21:38:a0:
                    19:da:a1:a9:0b:7c:70:3b:2f:fc:62:62:e4:23:c6:
                    de:2e:17:45:77:e2:61:f1:00:58:de:21:9a:54:83:
                    6a:6a:84:53:9b:74:19:ff:2b:ec:5a:67:63:6f:f8:
                    29:ba:81:6e:b1:3a:19:51:a9
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                69:21:70:6E:30:FC:33:BA:07:5E:69:97:17:90:02:DD:4E:3E:46:13
            X509v3 Authority Key Identifier: 
                keyid:69:21:70:6E:30:FC:33:BA:07:5E:69:97:17:90:02:DD:4E:3E:46:13

            X509v3 Basic Constraints: 
                CA:TRUE
    Signature Algorithm: sha1WithRSAEncryption
         32:06:9d:be:4d:28:3d:3f:dc:6a:53:b1:9f:9d:b8:8c:6e:4a:
         89:6d:85:a6:e7:eb:2c:e8:11:5c:60:1c:35:c7:c8:e8:88:13:
         25:15:2b:f7:ad:c9:29:10:db:5f:53:98:b3:c5:a9:96:2b:0b:
         3b:8c:af:0a:2f:2d:a4:04:d0:5b:a1:5a:e3:a4:22:26:15:27:
         fb:65:9c:ec:ac:72:24:23:d5:49:d9:89:bb:cd:03:ca:c6:2f:
         ca:dd:a9:49:90:30:f3:4f:a7:13:19:a6:55:fb:77:9f:8f:6c:
         f8:4d:89:a2:03:f6:d2:36:8a:eb:3e:31:49:f6:07:5e:22:dd:
         ee:ef
-----BEGIN CERTIFICATE-----
MIIC7DCCAlWgAwIBAgIJALrGpFO0V1k7MA0GCSqGSIb3DQEBBQUAMIGOMQswCQYD
VQQGEwJDTjERMA8GA1UECAwIc2hhbmdoYWkxETAPBgNVBAcMCHNoYW5naGFpMQ8w
DQYDVQQKDAZvZ2lsdnkxDTALBgNVBAsMBFRlY2gxFjAUBgNVBAMMDW9naWx2eS1z
ZXJ2ZXIxITAfBgkqhkiG9w0BCQEWEmNhYWRtaW5Ab2dpbHZ5LmNvbTAeFw0xNTA1
MjgwODMwNTFaFw0xNjA1MjcwODMwNTFaMIGOMQswCQYDVQQGEwJDTjERMA8GA1UE
CAwIc2hhbmdoYWkxETAPBgNVBAcMCHNoYW5naGFpMQ8wDQYDVQQKDAZvZ2lsdnkx
DTALBgNVBAsMBFRlY2gxFjAUBgNVBAMMDW9naWx2eS1zZXJ2ZXIxITAfBgkqhkiG
9w0BCQEWEmNhYWRtaW5Ab2dpbHZ5LmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
gYkCgYEAzrxoEUlQlVR/TshMy7H9GqP2eJfiA3y+QTCUymNlWYiU55JYzQ6XI9WV
N2mWx/UvUnB8Bp3ge+snsFBrwCMi7ziA39XStqUhOKAZ2qGpC3xwOy/8YmLkI8be
LhdFd+Jh8QBY3iGaVINqaoRTm3QZ/yvsWmdjb/gpuoFusToZUakCAwEAAaNQME4w
HQYDVR0OBBYEFGkhcG4w/DO6B15plxeQAt1OPkYTMB8GA1UdIwQYMBaAFGkhcG4w
/DO6B15plxeQAt1OPkYTMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEA
Mgadvk0oPT/calOxn524jG5KiW2FpufrLOgRXGAcNcfI6IgTJRUr963JKRDbX1OY
s8WplisLO4yvCi8tpATQW6Fa46QiJhUn+2Wc7KxyJCPVSdmJu80DysYvyt2pSZAw
80+nExmmVft3n49s+E2JogP20jaK6z4xSfYHXiLd7u8=
-----END CERTIFICATE-----
[[email protected] ~]#

建立根服务器步骤:

[[email protected] private]# openssl genrsa -out cerkey.pem 2048 #创建私钥
Generating RSA private key, 2048 bit long modulus
.................................................................+++
.......................................+++
e is 65537 (0x10001)
[[email protected] private]# ll
total 4
-rw-r--r--. 1 root root 1679 May 28 17:05 cerkey.pem
[[email protected] private]# chmod 600 cerkey.pem 
[[email protected] private]# ls
cerkey.pem
[[email protected] private]# ll 
total 4
-rw-------. 1 root root 1679 May 28 17:05 cerkey.pem
[[email protected] private]# cd ..
[[email protected] CA]# ls
certs  crl  newcerts  private
[[email protected] CA]# openssl req -new -x509 -key private/cerkey.pem -out cacert.pem #自签名证书建立
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) [CN]:   #预设信息可以从配置文件中修改
shanghai []:
Locality Name (eg, city) [shanghai]:
Organization Name (eg, company) [ogilvy]:
Tech []:
Common Name (eg, your name or your server‘s hostname) []:ogilvyserver01
Email Address []:[email protected]
[[email protected] CA]# ll
total 20
-rw-r--r--. 1 root root 1334 May 28 17:08 cacert.pem
drwxr-xr-x. 2 root root 4096 Oct 15  2014 certs
drwxr-xr-x. 2 root root 4096 Oct 15  2014 crl
drwxr-xr-x. 2 root root 4096 Oct 15  2014 newcerts
drwx------. 2 root root 4096 May 28 17:05 private
[[email protected] CA]# touch index.txt serial  #建立索引文件及序列文件
[[email protected] CA]# echo 01 > serial   #输入起始序号
[[email protected] CA]#
时间: 2024-10-14 18:33:36

ssl配置的相关文章

小菜鸟学习SPRING BOOT -- ssl配置

菜鸟新来,大神勿喷,些许醍醐,感激涕零.因为 我总是装幽默,是因为我想让自己快乐. ssl协议位于tcp/ip协议与各种应用协议之间,为数据通信提供安全支持. ssl协议分为两层: ssl记录协议,它建立在可靠传输协议之上,为高层协议提供数据封装.压缩.加密等基本功能支持. ssl握手协议,它建立在ssl记录协议之上,用于实际数据传输开始前,通信双方进行身份认证.协商加密算法.交换加密密钥等 基于B/S的web应用,是通过https来实现ssl的.https是http的安全版,即在http下加入

gitlab haproxy ssl 配置

现在网上的gitlab都是基于nginx代理gitlabsocket的访问方式   配置基于nginx的https无需多说,配置只基于haproxy的https    后端选择代理   gitlab的Unicorn 需要修改的配置有  /home/git/gitlab/config/unicorn.rb /home/git/gitlab/config/gitlab.config 此处host修改为  FQDN  也就是你的ip或者address port修改为 443 https 修改为true

Centos7下Apache详细安装配置及证书申请SSL配置介绍

首先说到Centos大家都已经非常熟悉了,所以我们也就不多介绍关于Centos具体发展了,我们首先知道在Centos7之前版本命令和ReadHat的命令完全一样的,可Centos从6.0版本升级到Centos7版本之后,命令及功能上有了很大的变化,最明显的差别就是从安装的操作界面及操作命令上已经有很大变化了,更不用说功能上的变化了,比如centos6.x版本的iptalbes到centos7的firewall的变化,当然,变化了很多,我也就不多说了,今天呢,主要给大家介绍一下再Centos7下A

Tomcat SSL配置及Tomcat CA证书安装

Tomcat既可以作为独立的Servlet容器,也可以作为其他HTTP服务器附加的Servlet容器.如果Tomcat在非独立模式下工作, 通常不必配置SSL,由它从属的HTTP服务器来实现和客户的SSL通信.Tomcat和HTTP服务器之间的通信无须采用加密机制,HTTP服务器将解 密后的数据传给Tomcat,并把Tomcat发来的数据加密后传给客户. 如果Tomcat作为独立的Java Web服务器,则可以根据安全需要,为Tomcat配置SSL,它包含以下两个步骤: (1) 准备安全证书.

Haproxy-1.5.x SSL配置

1. 安装 # yum install pcre-devel openssl-devel -y  # tar zxvf haproxy-1.5.3.tar.gz  # cd haproxy-1.5.3  # make TARGET=linux26 USE_STATIC_PCRE=1 USE_REGPARM=1 USE_LINUX_TPROXY=1 USE_OPENSSL=1 USE_ZLIB=1 ARCH=x86_64  # make install PREFIX=/usr/local/hapr

SSL 通信原理及Tomcat SSL 配置

SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................................................................................. 12 SSL(Server Socket Layer)简介 .......................................................

Tomcat SSL配置 Connector attribute SSLCertificateFile must be defined when using SSL with APR解决

原文地址:http://blog.csdn.net/kissliux/article/details/17392003 Tomcat 6版本配置SSL过程有两步: 1.用JDK自带的keytool.exe来生成私有密钥和自签发的证书,如下: keytool -genkey -keyalg RSA -alias tomcat 按提示输入相关内容后,这条命令将在默认密钥库文件里新增一个别名为tomcat的私有密钥项及其自签发的证书.默认密钥库文件为: %USERPROFILE%\.keystore

Tomcat服务器配置https协议(Tomcat HTTPS/SSL 配置)

通常商用服务器使用https协议需要申请SSL证书,证书都是收费的,价格有贵的有便宜的.它们的区别是发行证书的机构不同,贵的证书机构更权威,证书被浏览器否决的几率更小. 非商业版本可以通过keytool来生成. 用keytool工具生成证书与配置 1.相关工具说明 此处使用1.7.0_79版本,如图所示: 切换到jdk bin目录下面,如图: 证书密钥生成 1.创建证书 keytool -genkey -alias [your_alias_name] -keyalg RSA -keystore

百度CDN 网站SSL 配置

百度CDN SSL配置步骤 一般从SSL提供商购买到的证书是CRT二进制格式的. 1. 将 CRT 导入到IIS中, 然后从IIS中导出为PFX格式 2. 下载openssl,执行下面命令 提取用户证书 (P12或者pfx) openssl pkcs12 -in test.p12 -clcerts -nokeys -out cert.pem //pem格式 openssl pkcs12 -in test.p12 -clcerts -nokeys -out cert.crt //crt格式 如果需

一个实际问题分析及解决之三:websphere中SSL配置及使用

SSL配置是websphere security中很重要的一部分,具体详细阅读下面内容. http://www.ibm.com/developerworks/websphere/techjournal/0612_birk/0612_birk.html 这里重点分析两个问题:KeyStore和TrustStore的区别以及如何使用websphere的ssl配置. 一. KeyStore和TrustStore的区别 TrustStore主要用于存放public certificate,即公钥.而公钥