• 关于

    openssl证书加密

    的搜索结果

回答

###l 用C语言实现了很多种常见的加密算法: 三个组件: 1、libcrypto 库文件 专门实现加密解密的库文件, 2、libssl 库文件,主要是实现https这样协议 3、openssl 多用途加密工具,还可以制作一个CA出来 一般来讲openssl都会装上,使用一个openssl加一个错误的选项就能看见它的使用 选项 单项加密时的用法: openssl enc -des3 -salt -a -in inittab -out inittab.des3 实现对于一个文件加密 enc是加密 -des3是加密算法 -salt 加入杂质 -in后面跟文件名 -out加密后放在哪个文件里 openssl enc -d -des3 -salt -a -in inittab.des3 -out inittab -d表示解密 openssl dgst -sha inittab 表示计算inittab文件的特征值 用户认证时passwd的用法,怎么去帮你生成一个类似于保存在/etc/shadow文件里的密码一样 openssl passwd -1 -1表示使用MD5算法 [root@server46 ~]# openssl passwd -1 Password: Verifying - Password: $1$7HW0kv8y$IntkyNppqtTQ2fHAJ1FMk1 openssl passwd -1 -salt 杂质 这样计算结果就一样了 [root@server46 ~]# openssl passwd -1 Password: Verifying - Password: $1$7HW0kv8y$IntkyNppqtTQ2fHAJ1FMk1 [root@server46 ~]# openssl passwd -1 -salt 7HW0kv8y Password: $1$7HW0kv8y$IntkyNppqtTQ2fHAJ1FMk1 man sslpasswd可以查看用法 非对称加密: openssl怎样发证: 切换目录到/etc/pki/tls/certs make *.key就可以产生一个密钥 make *.cert可以生成一个证书,主要是看文件后缀生成文件,是redhat提供的便捷方式 make my.key就可以生成一个密钥 (umask 66;openssl genrsa 1024 > my.key) 生成私钥文件 这是在一个子shell里进行,umask只对后面的这一个命令有效,umask执行完以后就恢复到原来 提取公钥: openssl rsa -in my.key -pubout -out myr.pubkey [root@server46 certs]# (umask 66; openssl genrsa 1024 > my.key) Generating RSA private key, 1024 bit long modulus ...++++++ ........++++++ e is 65537 (0x10001) [root@server46 certs]# cat my.key -----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDRSlvZZ7p7sRbczdGhcw/8z5mzEKIjDZw63ffsxCDC9XWKO0vE FaxbPrgwZYF+iu8QHUKVzuJoqO8MmfY7p9aGz2WT2GQ/wUTnjsbL8mNbSclV/2m8 K0XZqSLsKzuhaBOFC+sylQvnZiXP23slNWZIuV0EVh9k2ULSV4f8B5QtywIDAQAB AoGATNkA4NM1pjVgL7NjReT5+dpAlX+GCVj2BKd8YXOik/ONNTSQnW9X2ikteJfM 9KoPHdugl2FfwQ5GuFnQEBeQrUV5SnR09k2OZTsdOMVNXqamf4V/rXidOs+L3RVK Q4X6vpasS1CJ1/q/fCcsi1Nl0nLcV9stLXbmEzYqE6+hwAECQQDqxrbF5W9j5vVM ZkKmvx1ViojwTJovlkOtl6RSkqHMR3msnHhizbc+iGrGiP/vH9H+AvDK7AJPNVng kHAa5YGbAkEA5DXX0dIajPoAdLvmNG1kNY1fp6IJjfR8UJRWeOwjhVjul1yp47hP bM/f55OmowdsQamfNVwk4P5iYIcZ8uwfkQJBAJoXToLYsaF6Rumb/IcAzLoGMRa2 0EQHdegLrVhc0UEIcH2wPPtsVab/VkV0SbaixerX9z7YZDOkqpbPdiTRGZ0CQBWv 2DakVMmY6HovcQ0CaEd+i9yOVYIb/cRalG0hY67EaMgRkkOFvGaGyqxjJ67Ogccr q2mSvB51jjvGGv0u20ECQQCHvgJkF3xHkQnahqCTTgym0CNocHhVfyo6KveIfBAk Vz69+zsGK2kKBOseSbgRKqVmM21Iqu0aZatjEevHwZIo -----END RSA PRIVATE KEY----- [root@server46 certs]# openssl rsa -in my.key -pubout -out my.pubkey writing RSA key [root@server46 certs]# cat my.pubkey -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDRSlvZZ7p7sRbczdGhcw/8z5mz EKIjDZw63ffsxCDC9XWKO0vEFaxbPrgwZYF+iu8QHUKVzuJoqO8MmfY7p9aGz2WT 2GQ/wUTnjsbL8mNbSclV/2m8K0XZqSLsKzuhaBOFC+sylQvnZiXP23slNWZIuV0E Vh9k2ULSV4f8B5QtywIDAQAB -----END PUBLIC KEY----- 发证步骤: 1、首先生成一对密钥(S/P密钥) 2、然后把公钥放在一个叫证书颁发请求里(里面包括你的公钥,姓名,地址,等一些列描述信息) 发送到证书颁发机构 3、CRT证书就生成了 自己成为CA: 1、cd /etc/pki/CA 有一个 private 文件,里面专门放CA的私钥文件 2、给自己生成一个密钥 (umask 66; openssl genrsa 2048 > private/cakey.pem[这里只能叫cakey.pem]) ll private 给自己发证书: openssl req -new -x509 -key private/cake.pem -out cacert.pem openssl req -new -x509 -key private/cake.pem -out cacert.pem 接下来会提示你输入一些信息 写完之后就是一个自签的证书 接下来就可以给别人发证了 view plaincopy to clipboardprint? openssl req -new -x509 -key private/cake.pem -out cacert.pem -days3655 openssl req -new -x509 -key private/cake.pem -out cacert.pem -days3655 3、编辑cA的配置文件 view plaincopy to clipboardprint? vim /etc/pki/tls/openssl.cnf这里定义了 vim /etc/pki/tls/openssl.cnf这里定义了 找到【 CA_default 】字段 修改 dir 改为绝对路径 这里有些目录没有需要我们手动建立,在这个配置文件内我们都能找到 然后还可以修改默认信息 到这里才 算是一个完整的CA 4、接下来给web服务器做一个证书: view plaincopy to clipboardprint? cd /etc/httpd mkdir ssl cd ssl (umask 66;openssl genrsa 2048 > web.key) cd /etc/pki/CA mkdir certs crl newcerts touch index.txt serial echo 01 > serial openssl req -new -key wed.key -out wed.csr 这是一个证书颁发请求 opssl ca -in wed.csr -out web.crt 颁发证书 cd /etc/httpd mkdir ssl cd ssl (umask 66;openssl genrsa 2048 > web.key) cd /etc/pki/CA mkdir certs crl newcerts touch index.txt serial echo 01 > serial openssl req -new -key wed.key -out wed.csr 这是一个证书颁发请求 opssl ca -in wed.csr -out web.crt 颁发证书 然后敲两次回车 就ok了
小哇 2019-12-02 01:26:47 0 浏览量 回答数 0

回答

为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。 1.对称加密算法 OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。事实上,DES算法里面不仅仅是常用的DES算法,还支持三个密钥和两个密钥3DES算法。 2.非对称加密算法 OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用户密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。
云篆 2019-12-02 01:26:56 0 浏览量 回答数 0

问题

利用SLB实现https与http的混合访问

云中沙箱实验“利用SLB实现https与http的混合访问”教您如何在云上解决HTTP与HTTPS的混合访问! 云中沙箱,阿里云官方实验平台。网址:http://lab.aliyunedu.ne...
仟与仟寻 2019-12-01 22:09:50 3521 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

100+款试用云产品,最长免费试用12个月!拨打95187-1,咨询专业上云建议!

回答

Windows环境下使用Openssl工具创建私钥和证书请求。 关于Openssl的安装可以通过https://slproweb.com/products/Win32OpenSSL.html 来下载1.0.2o版本,1.1.0版本jdk在提取私钥时有bug,推荐使用1.0.2o版本。 此外,两个备份link: 1) 32位的Openssl http://baas-public.oss-cn-shanghai.aliyuncs.com/Win32OpenSSL-1_0_2o.exe 2)64位的Opensslhttp://baas-public.oss-cn-shanghai.aliyuncs.com/Win64OpenSSL-1_0_2o.exe Openssl 工具创建私钥和证书请求:在cmd下面进入Openssl.exe的路径cd Openssl_path 在当前路径下面,配置openssl的配置文件set OPENSSL_CONF=openssl.cfg 在当前路径生成私钥和对应的证书请求openssl req -newkey rsa:2048 -keyout key_pkcs10.pem -out csr.pem 在这一命令执行的过程中,系统会要求您填写如下信息: Country Name (2 letter code):使用国际标准组织(ISO)国码格式,填写2个字母的国家代号。中国请填写CN。 State or Province Name (full name): 省份,比如填写Shanghai Locality Name (eg, city): 城市,比如填写Shanghai Organization Name (eg, company): 组织单位,比如填写公司名的拼音 Organizational Unit Name (eg, section): 比如填写IT Dept Common Name (eg, your websites domain name): 行使 SSL 加密的身份标识 Email Address: 邮件地址,可以不填 A challenge password: 可以不填 An optional company name:可以不填 私钥格式转换,将pkcs10转换成pkcs8 openssl pkcs8 -in key_pkcs10.pem -inform PEM -out pkcs8.pem -outform PEM -topk8
保持可爱mmm 2020-03-26 20:27:29 0 浏览量 回答数 0

问题

生成、签署 ECC 证书,Apache Httpd 部署双证书教程

前言 2017年绝对是移动互联网的加密元年,越来越多的移动互联网网站、应用会部署 HTTPS 加密,不过移动平台因为普遍基于 ARM 架构所以对处理 HTTPS 的性能和速度都不如电脑平台。 因此我们就需...
妙正灰 2019-12-01 21:40:04 5348 浏览量 回答数 1

问题

关于IOS的RSA加密问题

由于公钥是服务器传下来的NSString类型,由于一些原因,不能使用证书加密,不能使用openssl库进行加密,要怎么加密好???急求,找了好久了,也看到有一些提问的...
爵霸 2019-12-01 20:23:07 827 浏览量 回答数 1

问题

怎么能通过js实现rsa加密

如题,想实现js的rsa加密,ajax传输密文。用openssl生成证书...
小旋风柴进 2019-12-01 19:38:00 2905 浏览量 回答数 1

问题

ECS Windows系统Apache配置ssl如何加密连接

SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全。 一、下载并安装 支持SSL的 Apache 1.安装配有SSL模块的apache, 下...
boxti 2019-12-01 21:31:18 1578 浏览量 回答数 1

回答

apache配置SSL证书请参考:http://www.wosign.com/support/ssl-Apache2.htm 一、安装SSL证书环境 1.1 SSl 证书安装环境简介 Centos 6.4 操作系统; Apache2.2.或以上版本; Openssl 1.0.1+; SSL 证书一张(备注:本指南使用 s.wosign.com 域名OV SSL 证书进行操作,通用其它版本证书) 1.2 网络环境要求 请确保站点是一个合法的外网可以访问的域名地址,可以正常通过或 http://XXX 进行正常访问。 二、生成证书请求文件 2.1 生成请求文件csr 首先下载openssl 软件,可以去openssl 官网下载:http://www.openssl.org/source/ 下载后安装到本地计算机。 2.1.1 查看openssl 在终端输入openssl version 查看openssl当前版本。 图 1 2.1.2 生成key私钥文件 使用以下命令来生成私钥:openssl genrsa -des3 -out www.mydomain.com.key 2048,生成的私钥保存在当期目录。 图 2 2.1.3 生成csr 文件 使用以下命令来生成私钥:openssl req -new -key www.mydomain.com.key -out www.mydomain.com.csr 图 3 Country Name (2 letter code) [GB]: 输入国家地区代码,如中国的 CN State or Province Name (full name) [Berkshire]: 地区省份 Locality Name (eg, city) [Newbury]: 城市名称 Organization Name (eg, company) [My Company Ltd]: 公司名称 Organizational Unit Name (eg, section) []: 部门名称 Common Name (eg, your name or your server’s hostname) []: 申请证书域名 Email Address []: 电子邮箱 随后可能会提示输入密码,一般无需输入,直接回车即可 三、 提交CSR 文件 3.1 登录wosign站点 登录https://login.wosign.com/;输入密码和验证码,选择客户端证书登录在线购买系统。 3.2 选择证书类型 点右上边橙色“申请证书”连接,选择您要申请的 SSL 证书,点“立即申请”,如下图所示: 3.3 填写资料 需要填写:证书绑定的域名,申请年限,是否需要发票,证书签名算法,并设置证书安装密码。 3.4 验证域名邮箱 进入域名验证,可以选择whois 邮箱验证,或者网站验证方式,如下图所示,也可以先跳过验证,进入下一步,再验证域名。 3.5 确认订单信息 选择证书申请文件生成方式二,提交生成的 csr 文件,如下图所示,然后确认订单信息。 3.6 支付订单 可您以在线转账,也可以选择线下转账。 3.7 上传证明材料 (SSL 用户授权书),如下图所示: 3.8 等待证书签发 证书申请提交成功。待客服和鉴证审核,您可以联系您的客服专员咨询订单审核情况。 四、安装SSL证书 4.1 获取SSL 证书 成功在沃通CA申请SSL证书后,会得到一个有密码的压缩包文件,输入证书密码后解压得到五个文件: for Apache、for IIS、for Ngnix、for Tomcat、for Other Server,这个是证书的几种格式,Apache 上需要用到for Apache格式的证书。 图 1 4.2 解压证书文件 解压Apache 文件可以看到3 个文件。包括公钥、私钥、证书链,如图2: 图 2 4.3 安装SSL证书 1、打开apache 安装目录下 conf 目录中的httpd.conf 文件,找到: #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件) #Include conf/extra/httpd_ssl.conf 删除行首的配置语句注释符号“#”,保存退出。 2、打开apache 安装目录下 conf/extra 目录中的httpd-ssl.conf 文件 注释: yum 安装配置目录:conf.d/ssl.conf ubuntu/apache2 安装目录:conf/sites-enabled/.conf 在配置文件中查找以下配置语句: a. 添加SSL 协议支持语句,关闭不安全的协议和加密套件: SSLProtocol all -SSLv2 -SSLv3 b.修改加密套件如下: SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; c.将服务器证书公钥配置到该路径下(在conf 目录下创建ssl 目录,将 for Apache 里面的三 个证书文件拷贝到 ssl 目录下) SSLCertificateFile conf/ssl/test.wosign.com.crt (证书公钥) d.将服务器证书私钥配置到该路径下 SSLCertificateKeyFile conf/ssl/test.wosign.com.key (证书私钥) e.将服务器证书链配置到该路径下 #SSLCertificateChainFile conf/ssl/1_root_bundle.crt(证书链)删除行首的“#”号注释符 保存退出,并重启Apache。 3、进入Apache 安装目录下的bin 目录,运行如下命令 ./apachectl -k stop ./apachectl -k start 4.4 测试SSL 证书 在浏览器地址栏输入:https://s.wosign.com (申请证书的域名)测试您的 SSL 证书是否安装成功,如果成功,则浏览器地址栏后方会显示一个安全锁标志。 备注:安装完ssl 证书后部分服务器可能会有以下错误,请按照链接修复 a. 加密协议和安全套件:https://bbs.wosign.com/thread-1284-1-1.html b. 部署https页面后出现排版错误或提示网页有不安全因素,可参考以下链接: https://bbs.wosign.com/thread-1667-1-1.html 五、安装安全签章 (目前该安全签章只支持 OV 级以上证书使用) 5.1 安装中文签章 (注意:签章的显示需要外网环境,且 https 使用 443 端口) 您购买了 WoSign SSL 证书后,将免费获得一个能直观地显示贵网站的认证信息的可信网站安全认证标识,能大大增强用户的在线信任,促成更多在线交易。所以,建议您在安装成功 SSL 证书后马上在网站的首页和其他页面中添加如下代码动态显示可信网站安全认证标识: <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="https://seal.wosign.com/tws.js"></SCRIPT> 5.2 安装英文签章 如果您希望在英文页面显示认证标识,则在英文页面添加如下代码: <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="https://seal.wosign.com/tws-en.js"></SCRIPT> 详细请访问:https://www.wosign.com/support/siteseal.htm 六、SSL证书的备份 请保存好收到的证书压缩包文件及密码,以防丢失。 答案来源于网络
养狐狸的猫 2019-12-02 02:14:56 0 浏览量 回答数 0

问题

生成、签署 ECC SSL 证书教程

介绍 椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC),一种建立公开金钥加密的算法,基于椭圆曲线数学。椭圆曲线在密...
妙正灰 2019-12-01 21:09:22 13547 浏览量 回答数 3

问题

请教关于Http与Https碰到的问题

两个协议的默认端口 在申请的域名处一般要配制域名对应的ip地址。那么,在访问这个域名的时候,如果是 http://域名,就默认解析到 http://ip:80 https://域名 是不是就默认解析到 https://ip:443证书问题 ...
落地花开啦 2019-12-01 20:00:15 1019 浏览量 回答数 1

回答

HTTPS基本原理 一、http为什么不安全。 http协议没有任何的加密以及身份验证的机制,非常容易遭遇窃听、劫持、篡改,因此会造成个人隐私泄露,恶意的流量劫持等严重的安全问题。 国外很多网站都支持了全站https,国内方面目前百度已经在年初完成了搜索的全站https,其他大型的网站也在跟进中,百度最先完成全站https的最大原因就是百度作为国内最大的流量入口,劫持也必然是首当其冲的,造成的有形的和无形的损失也就越大。关于流量劫持问题,我在另一篇文章中也有提到,基本上是互联网企业的共同难题,https也是目前公认的比较好的解决方法。但是https也会带来很多性能以及访问速度上的牺牲,很多互联网公司在做大的时候都会遇到这个问题:https成本高,速度又慢,规模小的时候在涉及到登录和交易用上就够了,做大以后遇到信息泄露和劫持,想整体换,代价又很高。 2、https如何保证安全 要解决上面的问题,就要引入加密以及身份验证的机制。 这时我们引入了非对称加密的概念,我们知道非对称加密如果是公钥加密的数据私钥才能解密,所以我只要把公钥发给你,你就可以用这个公钥来加密未来我们进行数据交换的秘钥,发给我时,即使中间的人截取了信息,也无法解密,因为私钥在我这里,只有我才能解密,我拿到你的信息后用私钥解密后拿到加密数据用的对称秘钥,通过这个对称密钥来进行后续的数据加密。除此之外,非对称加密可以很好的管理秘钥,保证每次数据加密的对称密钥都是不相同的。 但是这样似乎还不够,如果中间人在收到我的给你公钥后并没有发给你,而是自己伪造了一个公钥发给你,这是你把对称密钥用这个公钥加密发回经过中间人,他可以用私钥解密并拿到对称密钥,此时他在把此对称密钥用我的公钥加密发回给我,这样中间人就拿到了对称密钥,可以解密传输的数据了。为了解决此问题,我们引入了数字证书的概念。我首先生成公私钥,将公钥提供给相关机构(CA),CA将公钥放入数字证书并将数字证书颁布给我,此时我就不是简单的把公钥给你,而是给你一个数字证书,数字证书中加入了一些数字签名的机制,保证了数字证书一定是我给你的。 所以综合以上三点: 非对称加密算法(公钥和私钥)交换秘钥 + 数字证书验证身份(验证公钥是否是伪造的) + 利用秘钥对称加密算法加密数据 = 安全 3、https协议简介 为什么是协议简介呢。因为https涉及的东西实在太多了,尤其是一些加密算法,非常的复杂,对于这些算法面的东西就不去深入研究了,这部分仅仅是梳理一下一些关于https最基本的原理,为后面分解https的连接建立以及https优化等内容打下理论基础。 3.1 对称加密算法 对称加密是指加密和解密使用相同密钥的加密算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信至关重要。 对称加密又分为两种模式:流加密和分组加密。 流加密是将消息作为位流对待,并且使用数学函数分别作用在每一个位上,使用流加密时,每加密一次,相同的明文位会转换成不同的密文位。流加密使用了密钥流生成器,它生成的位流与明文位进行异或,从而生成密文。现在常用的就是RC4,不过RC4已经不再安全,微软也建议网络尽量不要使用RC4流加密。 分组加密是将消息划分为若干位分组,这些分组随后会通过数学函数进行处理,每次一个分组。假设需要加密发生给对端的消息,并且使用的是64位的分组密码,此时如果消息长度为640位,就会被划分成10个64位的分组,每个分组都用一系列数学公式公式进行处理,最后得到10个加密文本分组。然后,将这条密文消息发送给对端。对端必须拥有相同的分组密码,以相反的顺序对10个密文分组使用前面的算法解密,最终得到明文的消息。比较常用的分组加密算法有DES、3DES、AES。其中DES是比较老的加密算法,现在已经被证明不安全。而3DES是一个过渡的加密算法,相当于在DES基础上进行三重运算来提高安全性,但其本质上还是和DES算法一致。而AES是DES算法的替代算法,是现在最安全的对称加密算法之一。分组加密算法除了算法本身外还存在很多种不同的运算方式,比如ECB、CBC、CFB、OFB、CTR等,这些不同的模式可能只针对特定功能的环境中有效,所以要了解各种不同的模式以及每种模式的用途。这个部分后面的文章中会详细讲。 对称加密算法的优、缺点: 优点:算法公开、计算量小、加密速度快、加密效率高。 缺点:(1)交易双方都使用同样钥匙,安全性得不到保证; (2)每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。 (3)能提供机密性,但是不能提供验证和不可否认性。 3.2 非对称加密算法 在非对称密钥交换算法出现以前,对称加密一个很大的问题就是不知道如何安全生成和保管密钥。非对称密钥交换过程主要就是为了解决这个问题,使得对称密钥的生成和使用更加安全。 密钥交换算法本身非常复杂,密钥交换过程涉及到随机数生成,模指数运算,空白补齐,加密,签名等操作。 常见的密钥交换算法有RSA,ECDHE,DH,DHE等算法。涉及到比较复杂的数学问题,下面就简单介绍下最经典的RSA算法。RSA:算法实现简单,诞生于1977年,历史悠久,经过了长时间的破解测试,安全性高。缺点就是需要比较大的素数也就是质数(目前常用的是2048位)来保证安全强度,很消耗CPU运算资源。RSA是目前唯一一个既能用于密钥交换又能用于证书签名的算法。我觉得RSA可以算是最经典的非对称加密算法了,虽然算法本身都是数学的东西,但是作为最经典的算法,我自己也花了点时间对算法进行了研究,后面会详细介绍。 非对称加密相比对称加密更加安全,但也存在两个明显缺点: 1,CPU计算资源消耗非常大。一次完全TLS握手,密钥交换时的非对称解密计算量占整个握手过程的90%以上。而对称加密的计算量只相当于非对称加密的0.1%,如果应用层数据也使用非对称加解密,性能开销太大,无法承受。 2,非对称加密算法对加密内容的长度有限制,不能超过公钥长度。比如现在常用的公钥长度是2048位,意味着待加密内容不能超过256个字节。 所以公钥加密(极端消耗CPU资源)目前只能用来作密钥交换或者内容签名,不适合用来做应用层传输内容的加解密。 3.3 身份认证 https协议中身份认证的部分是由数字证书来完成的,证书由公钥、证书主体、数字签名等内容组成,在客户端发起SSL请求后,服务端会将数字证书发给客户端,客户端会对证书进行验证(验证查看这张证书是否是伪造的。也就是公钥是否是伪造的),并获取用于秘钥交换的非对称密钥(获取公钥)。 数字证书有两个作用: 1,身份授权。确保浏览器访问的网站是经过CA验证的可信任的网站。 2,分发公钥。每个数字证书都包含了注册者生成的公钥(验证确保是合法的,非伪造的公钥)。在SSL握手时会通过certificate消息传输给客户端。 申请一个受信任的数字证书通常有如下流程: 1,终端实体(可以是一个终端硬件或者网站)生成公私钥和证书请求。 2,RA(证书注册及审核机构)检查实体的合法性。如果个人或者小网站,这一步不是必须的。 3,CA(证书签发机构)签发证书,发送给申请者。 4,证书更新到repository(负责数字证书及CRL内容存储和分发),终端后续从repository更新证书,查询证书状态等。 数字证书验证: 申请者拿到CA的证书并部署在网站服务器端,那浏览器发起握手接收到证书后,如何确认这个证书就是CA签发的呢。怎样避免第三方伪造这个证书。答案就是数字签名(digital signature)。数字签名是证书的防伪标签,目前使用最广泛的SHA-RSA(SHA用于哈希算法,RSA用于非对称加密算法)数字签名的制作和验证过程如下: 1,数字签名的签发。首先是使用哈希函数对待签名内容进行安全哈希,生成消息摘要,然后使用CA自己的私钥对消息摘要进行加密。 2,数字签名的校验。使用CA的公钥解密签名,然后使用相同的签名函数对待签名证书内容进行签名并和服务端数字签名里的签名内容进行比较,如果相同就认为校验成功。 需要注意的是: 1)数字签名签发和校验使用的密钥对是CA自己的公私密钥,跟证书申请者提交的公钥没有关系。 2)数字签名的签发过程跟公钥加密的过程刚好相反,即是用私钥加密,公钥解密。 3)现在大的CA都会有证书链,证书链的好处一是安全,保持根CA的私钥离线使用。第二个好处是方便部署和撤销,即如果证书出现问题,只需要撤销相应级别的证书,根证书依然安全。 4)根CA证书都是自签名,即用自己的公钥和私钥完成了签名的制作和验证。而证书链上的证书签名都是使用上一级证书的密钥对完成签名和验证的。 5)怎样获取根CA和多级CA的密钥对。它们是否可信。当然可信,因为这些厂商跟浏览器和操作系统都有合作,它们的公钥都默认装到了浏览器或者操作系统环境里。 3.4 数据完整性验证 数据传输过程中的完整性使用MAC算法来保证。为了避免网络中传输的数据被非法篡改,SSL利用基于MD5或SHA的MAC算法来保证消息的完整性。 MAC算法是在密钥参与下的数据摘要算法,能将密钥和任意长度的数据转换为固定长度的数据。发送者在密钥的参与下,利用MAC算法计算出消息的MAC值,并将其加在消息之后发送给接收者。接收者利用同样的密钥和MAC算法计算出消息的MAC值,并与接收到的MAC值比较。如果二者相同,则报文没有改变;否则,报文在传输过程中被修改,接收者将丢弃该报文。 由于MD5在实际应用中存在冲突的可能性比较大,所以尽量别采用MD5来验证内容一致性。SHA也不能使用SHA0和SHA1,中国山东大学的王小云教授在2005年就宣布破解了 SHA-1完整版算法。微软和google都已经宣布16年及17年之后不再支持sha1签名证书。MAC算法涉及到很多复杂的数学问题,这里就不多讲细节了。 专题二--【实际抓包分析】 抓包结果: fiddler: wireshark: 可以看到,百度和我们公司一样,也采用以下策略: (1)对于高版本浏览器,如果支持 https,且加解密算法在TLS1.0 以上的,都将所有 http请求重定向到 https请求 (2)对于https请求,则不变。 【以下只解读https请求】 1、TCP三次握手 可以看到,我们访问的是 http://www.baidu.com/ , 在初次建立 三次握手的时候, 用户是去 连接 8080端口的(因为公司办公网做了代理,因此,我们实际和代理机做的三次握手,公司代理机再帮我们去连接百度服务器的80端口) 2、CONNECT 建立 由于公司办公网访问非腾讯域名,会做代理,因此,在进行https访问的时候,我们的电脑需要和公司代理机做 " CONNECT " 连接(关于 " CONNECT " 连接, 可以理解为虽然后续的https请求都是公司代理机和百度服务器进行公私钥连接和对称秘钥通信,但是,有了 " CONNECT " 连接之后,可以认为我们也在直接和百度服务器进行公私钥连接和对称秘钥通信。 ) fiddler抓包结果: CONNECT之后, 后面所有的通信过程,可以看做是我们的机器和百度服务器在直接通信 3、 client hello 整个 Secure Socket Layer只包含了: TLS1.2 Record Layer内容 (1)随机数 在客户端问候中,有四个字节以Unix时间格式记录了客户端的协调世界时间(UTC)。协调世界时间是从1970年1月1日开始到当前时刻所经历的秒数。在这个例子中,0x2516b84b就是协调世界时间。在他后面有28字节的随机数( random_C ),在后面的过程中我们会用到这个随机数。 (2)SID(Session ID) 如果出于某种原因,对话中断,就需要重新握手。为了避免重新握手而造成的访问效率低下,这时候引入了session ID的概念, session ID的思想很简单,就是每一次对话都有一个编号(session ID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的"对话密钥",而不必重新生成一把。 因为我们抓包的时候,是几个小时内第一次访问 https://www.baodu.com 首页,因此,这里并没有 Session ID. (稍会儿我们会看到隔了半分钟,第二次抓包就有这个Session ID) session ID是目前所有浏览器都支持的方法,但是它的缺点在于session ID往往只保留在一台服务器上。所以,如果客户端的请求发到另一台服务器,就无法恢复对话。session ticket就是为了解决这个问题而诞生的,目前只有Firefox和Chrome浏览器支持。 (3) 密文族(Cipher Suites): RFC2246中建议了很多中组合,一般写法是"密钥交换算法-对称加密算法-哈希算法,以“TLS_RSA_WITH_AES_256_CBC_SHA”为例: (a) TLS为协议,RSA为密钥交换的算法; (b) AES_256_CBC是对称加密算法(其中256是密钥长度,CBC是分组方式); (c) SHA是哈希的算法。 浏览器支持的加密算法一般会比较多,而服务端会根据自身的业务情况选择比较适合的加密组合发给客户端。(比如综合安全性以及速度、性能等因素) (4) Server_name扩展:( 一般浏览器也支持 SNI(Server Name Indication)) 当我们去访问一个站点时,一定是先通过DNS解析出站点对应的ip地址,通过ip地址来访问站点,由于很多时候一个ip地址是给很多的站点公用,因此如果没有server_name这个字段,server是无法给与客户端相应的数字证书的,Server_name扩展则允许服务器对浏览器的请求授予相对应的证书。 还有一个很好的功能: SNI(Server Name Indication)。这个的功能比较好,为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。一句话简述它的工作原理就是,在连接到服务器建立SSL连接之前先发送要访问站点的域名(Hostname),这样服务器根据这个域名返回一个合适的CA证书。目前,大多数操作系统和浏览器都已经很好地支持SNI扩展,OpenSSL 0.9.8已经内置这一功能,据说新版的nginx也支持SNI。) 4、 服务器回复(包括 Server Hello, Certificate, Certificate Status) 服务器在收到client hello后,会回复三个数据包,下面分别看一下: 1)Server Hello 1、我们得到了服务器的以Unix时间格式记录的UTC和28字节的随机数 (random_S)。 2、Seesion ID,服务端对于session ID一般会有三种选择 (稍会儿我们会看到隔了半分钟,第二次抓包就有这个Session ID) : 1)恢复的session ID:我们之前在client hello里面已经提到,如果client hello里面的session ID在服务端有缓存,服务端会尝试恢复这个session; 2)新的session ID:这里又分两种情况,第一种是client hello里面的session ID是空值,此时服务端会给客户端一个新的session ID,第二种是client hello里面的session ID此服务器并没有找到对应的缓存,此时也会回一个新的session ID给客户端; 3)NULL:服务端不希望此session被恢复,因此session ID为空。 3、我们记得在client hello里面,客户端给出了21种加密族,而在我们所提供的21个加密族中,服务端挑选了“TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256”。 (a) TLS为协议,RSA为密钥交换的算法; (b) AES_256_CBC是对称加密算法(其中256是密钥长度,CBC是分组方式); (c) SHA是哈希的算法。 这就意味着服务端会使用ECDHE-RSA算法进行密钥交换,通过AES_128_GCM对称加密算法来加密数据,利用SHA256哈希算法来确保数据完整性。这是百度综合了安全、性能、访问速度等多方面后选取的加密组合。 2)Certificate 在前面的https原理研究中,我们知道为了安全的将公钥发给客户端,服务端会把公钥放入数字证书中并发给客户端(数字证书可以自签发,但是一般为了保证安全会有一个专门的CA机构签发),所以这个报文就是数字证书,4097 bytes就是证书的长度。 我们打开这个证书,可以看到证书的具体信息,这个具体信息通过抓包报文的方式不是太直观,可以在浏览器上直接看。 (点击 chrome 浏览器 左上方的 绿色 锁型按钮) 3)Server Hello Done 我们抓的包是将 Server Hello Done 和 server key exchage 合并的包: 4)客户端验证证书真伪性 客户端验证证书的合法性,如果验证通过才会进行后续通信,否则根据错误情况不同做出提示和操作,合法性验证包括如下: 证书链的可信性trusted certificate path,方法如前文所述; 证书是否吊销revocation,有两类方式离线CRL与在线OCSP,不同的客户端行为会不同; 有效期expiry date,证书是否在有效时间范围; 域名domain,核查证书域名是否与当前的访问域名匹配,匹配规则后续分析; 5)秘钥交换 这个过程非常复杂,大概总结一下: (1)首先,其利用非对称加密实现身份认证和密钥协商,利用非对称加密,协商好加解密数据的 对称秘钥(外加CA认证,防止中间人窃取 对称秘钥) (2)然后,对称加密算法采用协商的密钥对数据加密,客户端和服务器利用 对称秘钥 进行通信; (3)最后,基于散列函数验证信息的完整性,确保通信数据不会被中间人恶意篡改。 此时客户端已经获取全部的计算协商密钥需要的信息:两个明文随机数random_C和random_S与自己计算产生的Pre-master(由客户端和服务器的 pubkey生成的一串随机数),计算得到协商对称密钥; enc_key=Fuc(random_C, random_S, Pre-Master) 6)生成 session ticket 如果出于某种原因,对话中断,就需要重新握手。为了避免重新握手而造成的访问效率低下,这时候引入了session ID的概念, session ID的思想很简单,就是每一次对话都有一个编号(session ID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的"对话密钥",而不必重新生成一把。 因为我们抓包的时候,是几个小时内第一次访问 https://www.baodu.com 首页,因此,这里并没有 Session ID. (稍会儿我们会看到隔了半分钟,第二次抓包就有这个Session ID) session ID是目前所有浏览器都支持的方法,但是它的缺点在于session ID往往只保留在一台服务器上。所以,如果客户端的请求发到另一台服务器,就无法恢复对话。session ticket就是为了解决这个问题而诞生的,目前只有Firefox和Chrome浏览器支持。 后续建立新的https会话,就可以利用 session ID 或者 session Tickets , 对称秘钥可以再次使用,从而免去了 https 公私钥交换、CA认证等等过程,极大地缩短 https 会话连接时间。 7) 利用对称秘钥传输数据 【半分钟后,再次访问百度】: 有这些大的不同: 由于服务器和浏览器缓存了 Session ID 和 Session Tickets,不需要再进行 公钥证书传递,CA认证,生成 对称秘钥等过程,直接利用半分钟前的 对称秘钥 加解密数据进行会话。 1)Client Hello 2)Server Hello
玄学酱 2019-12-02 01:27:08 0 浏览量 回答数 0

问题

Symantec SSL配置问题求教

服务器是ECS centos 6.5通过yum安装的httpd然后申请了Symantec SSL证书 不会配置 下面是证书页面给的方法,但是我的是httpd,不知道咋弄了( 1 ) 在Apache的安装目录下创建cert目录,并且...
ksks60 2019-12-01 19:28:08 1763 浏览量 回答数 2

回答

详细解答可以参考官方帮助文档 负载均衡只支持PEM格式的证书。在上传证书前,确保您的证书、证书链和私钥符合格式要求。 Root CA机构颁发的证书 如果是通过Root CA机构颁发的证书,您拿到的证书是唯一的一份,不需要额外的证书,配置的站点即可被浏览器等访问设备认为可信。 证书格式必须符合如下要求: 以-----BEGIN CERTIFICATE-----, -----END CERTIFICATE-----开头和结尾;请将这些内容一并上传。 每行64个字符,最后一行长度可以不足64个字符。 证书内容不能包含空格。 下图为PEM格式的证书示例。 中级机构颁发的证书 如果是通过中级CA机构颁发的证书,您拿到的证书文件包含多份证书,需要将服务器证书与中级证书合并在一起上传。 证书链格式必须符合如下要求: 服务器证书放第一位,中级证书放第二位,中间不能有空行。 证书内容不能包含空格。 证书之间不能有空行,并且每行64字节。详情参见RFC1421。 符合证书的格式要求。一般情况下,中级机构在颁发证书时会有对应说明,证书要符合证书机构的格式要求。 中级机构颁发的证书链示例。 -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- RSA私钥格式要求 在上传服务器证书时,您也需要上传证书的私钥。 RSA私钥格式必须符合如下要求: 以-----BEGIN RSA PRIVATE KEY-----, -----END RSA PRIVATE KEY-----开头和结尾,请将这些内容一并上传。 字串之间不能有空行,每行64字符,最后一行长度可以不足64字符。详情参见RFC1421。 如果您的私钥是加密的,比如私钥的开头和结尾是 -----BEGIN PRIVATE KEY-----, -----END PRIVATE KEY-----或 -----BEGIN ENCRYPTED PRIVATE KEY-----, -----END ENCRYPTED PRIVATE KEY-----,或者私钥中包含 Proc-Type: 4,ENCRYPTED,需要先运行以下命令进行转换: openssl rsa -in old_server_key.pem -out new_server_key.pem 下图为RSA私钥示例。
2019-12-01 23:15:24 0 浏览量 回答数 0

问题

请问如何在apache上安装SSL证书?

菜鸟站长一枚,申请下免费证书后按照文件说明安装导致apache无法启动,恳请各位高人施以援手! 下面是阿里系统里的证书安装说明: 文件说明: 1. 证书文件21...
留级僧 2019-12-01 21:13:17 8819 浏览量 回答数 6

回答

报错原因 1、支付宝CA根证书文件路径(alipay_root_cert_path)错误; 2、支付宝CA根证书证书设置错误; 3、签名方式sign_type值设置错误; 4、php语言服务端sdk版本过低; 排查方案 1、支付宝根证书路径设置错误 支付宝CA根证书文件路径(alipay_root_cert_path)路径存在问题,建议检查路径传值是否正确; (1)文件路径需设置绝对路径; (2)核实对应的文件路径是否存在CA根证书文件; 2、支付宝根证书引用错误 alipay_root_cert_path设置路径对象错误,不是支付宝根证书 注:支付宝CA根证书文件,需要点击进入,选择使用的应用,再点击应用信息, 如图: 然后在“接口加密方式”中的“支付宝根证书”位置,点击“下载证书”。 如图: 3、sign_type设置错误 公钥证书方式方法做请求,sign_type必须是sign_type=RSA2; 4、php语言服务端sdk版本过低 php语言服务端sdk版本4.2.0以下的版本存在openssl兼容性问题,如果alipay_root_cert_sn解析的值存在下划线_后面以0X开头的会出现解析错误的情况; 例如:alipay_root_cert_sn=687b59193f3f462dd5336e5abf83c5d8_02941eef3187dddf3d3b83462e1dfcf6 解决方案:需要升级php语言服务端sdk,升级到sdk4.2.0以上即可.
保持可爱mmm 2020-05-05 17:04:04 0 浏览量 回答数 0

问题

轻量应用服务器部署的ssl证书不起作用

用的是wordpress镜像,centos7,apache2.4,php5.6,mysql5.7。 完全按照证书下载界面的提示进行部署。 1、下载适合apache的证书文件,里面有4个 2、把这4个文件都放...
piaolingjijie 2019-12-01 21:43:56 2890 浏览量 回答数 2

问题

证书要求

负载均衡只支持PEM格式的证书。在上传证书前,确保您的证书、证书链和私钥符合格式要求。 Root CA机构颁发的证书 如果是通过Root CA机构颁发的证书,您拿到的证书是唯一的一份,不需要...
行者武松 2019-12-01 21:36:25 1377 浏览量 回答数 0

回答

(1)如果是购买证书以后自定义上传的情况,需要特别注意 SSL 证书根据其适 用范围可以分为:通配符域名、单个域名和多个域名。根据其名称即可查看购买的 证书分别适用于主域名下某个级别的全部子域名、单个域名或者多个域名。用户是 需要保证购买的证书必须适用于加速域名后续才可以添加在 CDN 中生效。如下图所 示的即是添加的 SSL 证书(适用于 www 域名)与 CDN 加速域名(video 的子域名) 是不相匹配的,因此会抛出 NET::ERR_CERT_COMMON_NAME_INVALID 的 错误。 (2)CA 机构提供的证书为了兼容性可能会提供多种形式的证书,CDN 支持的证 书仅有 PEM 格式,并且私钥需要 RSA 格式。如果客户获取得到的是其他格式的证 书是需要转换后然后提交到 CDN 服务中的,常见格式切换格式请参考:CDN 证书格 式说明,而其中的私钥文件如果是 -----BEGIN PRIVATE KEY-----, ----- END PRIVATE KEY----- 样式的话是需要通过如下命令转换成 RSA 格式: openssl rsa -in old_server_key.pem -out new_server_key.pem (3)CDN 是不支持设置密码的私钥。如图 3 所示即是经过加密的私钥,这类私 钥文件是需要经过解密后才可以正常使用,因此 CDN 是无法正常使用的。 (4)证书链需要补全中间证书。对于中级 CA 机构提供的证书,那么拿到的证书 将包括多份证书,而 CDN 需要添加的是包括中间证书的完整证书链,拼接规则为: 服务器证书放第一份,中间证书放第二份,中间不要有空行。另外有一些中间证书 CA 机构提供了不同的服务器使用的证书,由于 CDN 是基于 Tengine 提供服务的, 因此用户是需要使用 Nginx 对应的证书到视频中心的。 (5)CDN 的 HTTPS 技术是基于 SNI 技术实现的。SNI 技术主要是用来在同一 台服务器上配置多个证书的需求,而 SNI 是需要客户端发送请求的时候带有 SNI 的 信息以标识是哪个域名的 SSL 请求,因此 SNI 技术对客户端有一定的要求,部分低 版本系统中的低版本浏览器不满足该要求。SNI 技术对于客户端的限制详细请参考: SNI 对客户端浏览器限制。
Lee_tianbai 2021-01-05 13:12:57 0 浏览量 回答数 0

回答

您好,我帮您看了一下,您这个问题很有可能是因为没有在CDN控制台上启用SSL导致的。 在按照流程申请得到CA证书后即可将该证书添加在CDN服务中供所有CDN的L1节点使用。CDN添加证书可以通过控制台的方式以及API/SDK的方式添加,但是配置参数是一致的,控制台配置截图如图2所示。主要包括证书名称、公钥和私钥三个参数。 证书名称代表的是用户自己给予该对证书识别名称,用户可根据自己的业务要求定义其证书名称,仅需要保证本账号中不存在同名证书即可。公钥和私钥分别对应CA机构提供的证书内容和私钥内容。证书内容是以-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----开头和结束的证书链组成,而私钥内容是以-----BEGIN RSA PRIVATE KEY-----和 -----END RSA PRIVATE KEY----- 开头和结尾私钥组成。                                      配置过程中需要注意以下内容: 1、CA机构提供的证书为了兼容性可能会提供多种形式的证书,CDN支持的证书仅有PEM格式,并且私钥需要RSA格式。如果客户获取得到的是其他格式的证书是需要转换后然后提交到CDN服务中的,常见格式切换格式请参考: CDN 证书格式说明 ,而其中的私钥文件如果是-----BEGIN PRIVATE KEY-----, -----END PRIVATE KEY-----样式的话是需要通过如下命令转换成RSA格式: openssl rsa -in old_server_key.pem -out new_server_key.pem 2、CDN是不支持设置密码的私钥。如图3所示即是经过加密的私钥,这类私钥文件是需要经过解密后才可以正常使用,因此CDN是无法正常使用的。                                                                                                              图3. 设置密码的私钥示意图 3、证书链需要补全中间证书。对于中级CA机构提供的证书,那么拿到的证书将包括多份证书,而CDN需要添加的是包括中间证书的完整证书链,拼接规则为:服务器证书放第一份,中间证书放第二份,中间不要有空行。 如果您对我的回答满意,请您采纳一下,谢谢! *参考【CDN 常见问题】CDN HTTPS配置及常见问题
zihangu 2019-12-02 00:33:52 0 浏览量 回答数 0

问题

PCI远程扫描漏洞补丁如何解决

您好:求助一下,一下问题如何解决 2018-08-07   Scan ID 8238876 Max CVSS 10.0 Scan State Completed Scan Compliance Status F...
1298117508539047 2019-12-01 18:51:40 2296 浏览量 回答数 0

问题

Tomcat配置Https后使用post提交并未对header加密,如何解决?

我使用tomcat配置了https环境,通过openssl或者keytool生成证书后配置在tomcat的server.xml,看起来是这样的 &lt;Connector port="8443" protocol="org.apache.c...
落地花开啦 2019-12-01 19:40:39 1455 浏览量 回答数 1

问题

如何在不直接访问私钥的情况下创建x x .509证书?

使用HSM时,我可以下载RSA 4096的公钥,还可以使用HSM使用相应的私钥加密blob(我无法下载)。 我试图找到一个关于如何使用HSM api来自己构建X509证书的参考。我可以在python中找到下面的示...
kun坤 2019-12-28 13:42:54 0 浏览量 回答数 1

回答

项目一直使用http未加密的域名,考虑安全性,购买了ca安全证书实现https化,但由于有些场景访问过来还是http,因为需要把http访问用户直接转为https 准备工作: 下载安装iis组件,url重写,下载地址:https://www.iis.net/downloads/microsoft/url-rewrite 按需下载,我这里下载中文64位版本 1、安装后,选中某个站点,IIS可视化管理界面上会多一个URL重写模块 开始工作: 1、购买SSL证书,打开阿里云,选择产品——ssl证书 2、选择 免费型DV SSL  IIS7 / IIS 7.5 下绑定 HTTPS 网站(购买Wildcard SSL泛域名证书可绑定多个子域名)参考上文购买成功后,进入证书控制台: 占申请: 填写证书的网址: 点验证: 提交审核: 成功后可以看到这个: 点下载: 下载成功后,可看到两个文件: IIS服务器SSL证书安装 • IIS7/IIS8在证书控制台下载IIS版本证书,下载到本地的是一个压缩文件,解压后里面包含.pfx文件是证书文件,pfx_password.txt是证书文件的密码。友情提示: 每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。申请证书时如果没有选择系统创建CSR,则没有该文件,请选择其它服务器下载.crt文件,利用openssl命令自己生成pfx证书。也可右点击安装,默认目录: 输入密码后,会显示导入成功。下面进行iis绑定安装: 进入网站,选择类型https绑定刚才的证书: 3、先进入服务器看看有没有这个,有的话就不用下载(目录server2012以上都自带) 下载安装URL重写模块:Microsoft URL Rewrite Module32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi64位:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi4、取消勾选“SSL设置”-》“要求 SSL” 5、ASP.NET站可直接修改web.config(与“6、IIS配置图示”效果相同),例如:见...节点 <?xml version="1.0" encoding="utf-8"?> <rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite> 6、IIS配置图示(图形化的操作过程,与上步效果相同,适用于asp/php等站)选择要配置的网站,找到“URL重写”,没有的话看上面第3步 双击网站,选择功能,找到url重写如果没有url重写,就要下载,看上面: 进入“URL重写”模块,点击“添加规则” 选择“空白规则” 编辑规则,名称:自己定义模式:(.*)条件:{HTTPS}条件模式: off 或 ^OFF$ 或 重定向URL:https://{HTTP_HOST}/{R:1}重定向类型:已找到(302) 或 参阅其它(303) 配置完成后“应用”到当前站点: URL重写配置结果: 至此配置完成! 需要技术支持联系QQ:1208877577  技术支持,100元每次。。。
kmptygya 2019-12-01 23:34:40 0 浏览量 回答数 0

问题

实例标识

实例标识作为 实例元数据 的一部分,可以帮助您快速辨识并区分 ECS 实例,为应用程序权限控制和软件激活等提供重要的信任基础。 实例标识的所有信息均实时生成,随取即用,并跟随实例信息...
chenchuan 2019-12-01 21:34:14 490 浏览量 回答数 0

问题

实例标识

实例标识作为 实例元数据 的一部分,可以帮助您快速辨识并区分 ECS 实例,为应用程序权限控制和软件激活等提供重要的信任基础。 实例标识的所有信息均实时生成,随取即用,并跟随实例信息...
chenchuan 2019-12-01 21:37:26 722 浏览量 回答数 0

问题

或许是Nginx下SPDY配置最实际的教程

介绍 SPDY(读作“SPeeDY”)是 Google 开发的基于 TCP 的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。SPDY 并不是...
妙正灰 2019-12-01 20:54:21 10030 浏览量 回答数 3

问题

Android安全开发之通用签名风险

Android安全开发之通用签名风险 作者:伊樵、舟海、呆狐@阿里聚安全    1 通用签名风险简介 1.1 Android应用签名机制 阿里聚安全漏洞扫描器有一...
移动安全 2019-12-01 21:14:31 4210 浏览量 回答数 1

问题

Python 接入方法有哪几种?

本文主要介绍如何使用 Python 客户端收发 MQTT 消息,并给出示例代码供前期开发测试参考。包括资源申请、环境准备、示例代码、注意事项等。 注意: 本文给出的示例均基于 Eclipse Paho Pyt...
猫饭先生 2019-12-01 21:15:31 1287 浏览量 回答数 0

回答

本文介绍AliSQL的内核版本更新说明。 MySQL 8.0 20200229 新特性 Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。 在半同步模式下添加网络往返时间,并记录到性能数据。 性能优化 允许在只读实例上进行语句级并发控制(CCL)操作。 备实例支持Outline。 Proxy短连接优化。 优化不同CPU架构下的pause指令执行时间。 添加内存表查看线程池运行情况。 Bug修复 在低于4.9的Linux Kenerls中禁用ppoll,使用poll代替。 修复wrap_sm4_encrypt函数调用错误问题。 修复在滚动审核日志时持有全局变量锁的问题。 修复恢复不一致性检查的问题。 修复io_statistics表出现错误time值的问题。 修复无效压缩算法导致崩溃的问题。 修复用户列与5.6不兼容的问题。 20200110 新特性 Inventory Hint:新增了三个hint, 支持SELECT、UPDATE、INSERT、DELETE 语句,快速提交/回滚事务,提高业务吞吐能力。 性能优化 启动实例时,先初始化Concurrency Control队列结构,再初始化Concurrency Control规则。 异步清除文件时继续取消小文件的链接。 优化Thread Pool性能。 默认情况下禁用恢复不一致性检查。 更改设置变量所需的权限: 设置以下变量所需的权限已更改为普通用户权限: auto_increment_increment auto_increment_offset bulk_insert_buffer_size binlog_rows_query_log_events 设置以下变量所需的权限已更改为超级用户或系统变量管理用户权限: binlog_format binlog_row_image binlog_direct sql_log_off sql_log_bin 20191225 新特性 Recycle Bin:临时将删除的表转移到回收站,还可以设置保留的时间,方便您找回数据。 性能优化 提高短连接处理性能。 使用专用线程为maintain user服务,避免HA失败。 通过Redo刷新Binlog时出现错误会显式释放文件同步锁。 删除不必要的TCP错误日志。 默认情况下启用线程池。 Bug修复 修复慢日志刷新的问题。 修复锁定范围不正确的问题。 修复TDE的Select函数导致的核心转储问题。 20191115 新特性 Statement Queue:针对语句的排队机制,将语句进行分桶排队,尽量把可能具有相同冲突的语句放在一个桶内排队,减少冲突的开销。 20191101 新特性 为TDE添加SM4加密算法。 保护备实例信息:拥有SUPER或REPLICATION_SLAVE_ADMIN权限的用户才能插入/删除/修改表slave_master_info、slave_relay_log_info、slave_worker_info。 提高自动递增键的优先级:如果表中没有主键或非空唯一键,具有自动增量的非空键将是第一候选项。 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。 Redo Log刷新到磁盘之前先将Binlog文件刷新到磁盘。 实例被锁定时也会影响临时表。 添加新的基于LSM树的事务存储引擎X-Engine。 性能优化 Thread Pool:互斥优化。 Performance Insight:性能点支持线程池。 参数调整: primary_fast_lookup:会话参数,默认值为true。 thread_pool_enabled:全局参数,默认值为true。 20191015 新特性 TDE:支持透明数据加密TDE(Transparent Data Encryption)功能,可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。 Returning:Returning功能支持DML语句返回Resultset,同时提供了工具包(DBMS_TRANS)便于您快捷使用。 强制将引擎从MyISAM/MEMORY转换为InnoDB:如果全局变量force_memory/mysiam_to_innodb为ON,则创建/修改表时会将表引擎从MyISAM/MEMORY转换为InnoDB。 禁止非高权限账号切换主备实例。 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮循方式,保留最近的秒级性能数据。 Innodb mutex timeout cofigurable:可配置全局变量innodb_fatal_semaphore_wait_threshold,默认值:600。 忽略索引提示错误:可配置全局变量ignore_index_hint_error,默认值:false。 可关闭SSL加密功能。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 Bug修复 支持本地AIO的Linux系统内,在触发线性预读之前会合并AIO请求。 优化表/索引统计信息。 如果指定了主键,则直接访问主索引。 20190915 Bug修复 修复Cmd_set_current_connection内存泄露问题。 20190816 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 Statement Concurrency Control:通过控制并发数应对突发的数据库请求流量、资源消耗过高的语句访问以及SQL访问模型的变化,保证MySQL实例持续稳定运行。 Statement Outline:利用Optimizer Hint和Index Hint让MySQL稳定执行计划。 Sequence Engine:简化获取序列值的复杂度。 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 Performance Insight:专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 Bug修复 修复文件大小计算错误的问题。 修复偶尔出现的内存空闲后再次使用的问题。 修复主机缓存大小为0时的崩溃问题。 修复隐式主键与CTS语句的冲突问题。 修复慢查询导致的slog出错问题。 20190601 性能优化 缩短日志表MDL范围,减少MDL阻塞的可能性。 重构终止选项的代码。 Bug修复 修复审计日志中没有记录预编译语句的问题。 屏蔽无效表名的错误日志。 MySQL 5.7基础版/高可用版 20200229 新特性 Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。 在半同步模式下添加网络往返时间,并记录到性能数据。 性能优化 优化不同CPU架构下的pause指令执行时间。 Proxy短连接优化。 添加内存表查看线程池运行情况。 Bug修复 修复DDL重做日志不安全的问题。 修复io_statistics表出现错误time值的问题。 修复更改表导致服务器崩溃的问题。 修复MySQL测试用例。 20200110 性能优化 异步清除文件时继续取消小文件的链接。 优化Thread Pool性能。 thread_pool_enabled参数的默认值调整为OFF。 20191225 新特性 内部账户管理与防范:调整用户权限保护数据安全。 性能优化 提高短连接处理性能。 使用专用线程为maintain user服务,避免HA失败。 删除不必要的TCP错误日志。 优化线程池。 Bug修复 修复读写分离时mysqld进程崩溃问题。 修复密钥环引起的核心转储问题。 20191115 Bug修复 修复主备切换后审计日志显示变量的问题。 20191101 新特性 为TDE添加SM4加密算法。 如果指定了主键,则直接访问主索引。 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。 性能优化 Thread Pool:互斥优化。 引入审计日志缓冲机制,提高审计日志的性能。 Performance Insight:性能点支持线程池。 默认开启Thread Pool。 Bug修复 在处理维护用户列表时释放锁。 补充更多TCP错误信息。 20191015 新特性 轮换慢日志:为了在收集慢查询日志时保证零数据丢失,轮换日志表会将慢日志表的csv数据文件重命名为唯一名称并创建新文件。您可以使用show variables like '%rotate_log_table%';查看是否开启轮换慢日志。 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮轮循方式,保留最近的秒级性能数据。 强制将引擎从MEMORY转换为InnoDB:如果全局变量rds_force_memory_to_innodb为ON,则创建/修改表时会将表引擎从MEMORY转换为InnoDB。 TDE机制优化:添加keyring-rds插件与管控系统/密钥管理服务进行交互。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 Bug修复 修复DDL中的意外错误Error 1290。 20190925 参数修改 将系统变量auto_generate_certs的默认值由true改为false。 增加全局只读变量auto_detact_certs,默认值为false,有效值为[true | false]。 该系统变量在Server端使用OpenSSL编译时可用,用于控制Server端在启动时是否在数据目录下自动查找SSL加密证书和密钥文件,即控制是否开启Server端的证书和密钥的自动查找功能。 20190915 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 20190815 新特性 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 Performance Insight:专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 Bug修复 禁止在set rds_current_connection命令中设置rds_prepare_begin_id。 允许更改已锁定用户的信息。 禁止用关键字actual作为表名。 修复慢日志导致时间字段溢出的问题。 20190510版本 新特性:允许在事务内创建临时表。 20190319版本 新特性:支持在handshake报文内代理设置threadID。 20190131版本 升级到官方5.7.25版本。 关闭内存管理功能jemalloc。 修复内部变量net_lenth_size计算错误问题。 20181226版本 新特性:支持动态修改binlog-row-event-max-size,加速无主键表的复制。 修复Proxy实例内存申请异常的问题。 20181010版本 支持隐式主键。 加快无主键表的主备复制。 支持Native AIO,提升I/O性能。 20180431版本 新特性: 支持高可用版。 支持SQL审计。 增强对处于快照备份状态的实例的保护。 MySQL 5.7三节点企业版 20191128 新特性 支持读写分离。 Bug修复 修复部分场景下Follower Second_Behind_Master计算错误问题。 修复表级并行复制事务重试时死锁问题。 修复XA相关bug。 20191016 新特性 支持MySQL 5.7高可用版(本地SSD盘)升级到三节点企业版。 兼容MySQL官方GTID功能,默认不开启。 合并AliSQL MySQL 5.7基础版/高可用版 20190915版本及之前的自研功能。 Bug修复 修复重置备实例导致binlog被关闭问题。 20190909 新特性 优化大事务在三节点强一致状态下的执行效率。 支持从Leader/Follower进行Binlog转储。 支持创建只读实例。 系统表默认使用InnoDB引擎。 Bug修复 修复Follower日志清理命令失效问题。 修复参数slave_sql_verify_checksum=OFF和binlog_checksum=crc32时Slave线程异常退出问题。 20190709 新特性 支持三节点功能。 禁用semi-sync插件。 支持表级并行复制、Writeset并行复制。 支持pk_access主键查询加速。 支持线程池。 合并AliSQL MySQL 5.7基础版/高可用版 20190510版本及之前的自研功能。 MySQL 5.6 20200229 新特性 支持Proxy读写分离功能。 性能优化 优化线程池功能。 优化不同CPU架构下的pause指令执行时间。 Bug修复 修复XA事务部分提交的问题。 20200110 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 性能优化 异步清除文件时继续取消小文件的链接。 Bug修复 修复页面清理程序的睡眠时间计算不正确问题。 修复SELECT @@global.gtid_executed导致的故障转移失败问题。 修复IF CLIENT KILLED AFTER ROLLBACK TO SAVEPOINT PREVIOUS STMTS COMMITTED问题。 20191212 性能优化 删除不必要的tcp错误日志 20191115 Bug修复 修复慢日志时间戳溢出问题。 20191101 Bug修复 修复刷新日志时切换慢日志的问题,仅在执行刷新慢日志时切换慢日志。 修正部分显示错误。 20191015 新特性 轮换慢日志:为了在收集慢查询日志时保证零数据丢失,轮换日志表会将慢日志表的csv数据文件重命名为唯一名称并创建新文件。您可以使用show variables like '%rotate_log_table%';查看是否开启轮换慢日志。 SM4加密算法:添加新的SM4加密算法,取代旧的SM加密算法。 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 引入审计日志缓冲机制,提高审计日志的性能。。 Bug修复 禁用pstack,避免存在大量连接时可能导致pstack无响应。 修复隐式主键与create table as select语句之间的冲突。 自动清除由二进制日志创建的临时文件。 20190815 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 20190130版本 修复部分可能导致系统不稳定的bug。 20181010版本 添加参数rocksdb_ddl_commit_in_the_middle(MyRocks)。如果这个参数被打开,部分DDL在执行过程中将会执行commit操作。 201806** (5.6.16)版本 新特性:slow log精度提升为微秒。 20180426(5.6.16)版本 新特性:引入隐藏索引,支持将索引设置为不可见,详情请参见参考文档。 修复备库apply线程的bug。 修复备库apply分区表更新时性能下降问题。 修复TokuDB下alter table comment重建整张表问题,详情请参见参考文档。 修复由show slave status/show status可能触发的死锁问题。 20171205(5.6.16)版本 修复OPTIMIZE TABLE和ONLINE ALTER TABLE同时执行时会触发死锁的问题。 修复SEQUENCE与隐含主键冲突的问题。 修复SHOW CREATE SEQUENCE问题。 修复TokuDB引擎的表统计信息错误。 修复并行OPTIMIZE表引入的死锁问题。 修复QUERY_LOG_EVENT中记录的字符集问题。 修复信号处理引起的数据库无法停止问题,详情请参见参考文档。 修复RESET MASTER引入的问题。 修复备库陷入等待的问题。 修复SHOW CREATE TABLE可能触发的进程崩溃问题。 20170927(5.6.16)版本 修复TokuDB表查询时使用错误索引问题。 20170901(5.6.16)版本 新特性: 升级SSL加密版本到TLS 1.2,详情请参见参考文档。 支持Sequence。 修复NOT IN查询在特定场景下返回结果集有误的问题。 20170530 (5.6.16)版本 新特性:支持高权限账号Kill其他账号下的连接。 20170221(5.6.16)版本 新特性:支持读写分离简介。 MySQL 5.5 20181212 修复调用系统函数gettimeofday(2) 返回值不准确的问题。该系统函数返回值为时间,常用来计算等待超时,时间不准确时会导致一些操作永不超时。
游客yl2rjx5yxwcam 2020-03-08 13:18:55 0 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化