SSL数字证书是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSL数字证书是啥?相关的知识,希望对你有一定的参考价值。

数字证书是指CA(电子认证服务)机构发行的一种电子文档,是一串能够表明网络用户身份信息的数字,提供了一种在计算机网络上验证网络用户身份的方式,因此数字证书又称为数字标识。数字证书对网络用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性
数字证书的基本架构是公开密钥PKI,即利用一对密钥实施加密和解密。其中密钥包括私钥和公钥,私钥主要用于签名和解密,由用户自定义,只有用户自己知道;公钥用于签名验证和加密,可被多个用户共享。
数字证书的基本工作原理主要体现在:
第一,发送方在发送信息前,需先与接收方联系,同时利用公钥加密信息,信息在进行传输的过程当中一直是处于密文状态,包括接收方接收后也是加密的,确保了信息传输的单一性,若信息被窃取或截取,也必须利用接收方的私钥才可解读数据,而无法更改数据,这也有利保障信息的完整性和安全性。
第二,数字证书的数据签名类似于加密过程,数据在实施加密后,只有接收方才可打开或更改数据信息,并加上自己的签名后再传输至发送方,而接收方的私钥具唯一性和私密性,这也保证了签名的真实性和可靠性,进而保障信息的安全性。 [2]
数字证书有很多格式版本,主要有X.509v3(1997)、X509v4(1997)、X.509v1(1988)等。比较常用的版本是TUTrec.x.509V3,由国际电信联盟制定,内容包括证书序列号、证书有效期和公开密钥等信息。不论是哪一个版本的数字证书,只要获得数字证书,用户就可以将其应用于网络安全中
数字证书的颁发即是用户对自己密钥和公钥以及自身身体信息传输至验证中心进行验证的过程,验证中心在经核对后,即会给申请者发送相应的数字证书。所改善的数字证书当中包含了用户基本信息及公钥信息,部分还会附上经认证中心签名的相关信息。在获得数字证书后,用户即可利用数字证书实施一些自己想要实施的活动。但每个数字证书都是不同的,且每个证书的可信度也存在一定差异,因此,申请者所获得的数字证书都是唯一的数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。

数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。
参考技术A

SSL证书是一种数字证书,主要是给予网站HTTPS安全协议加密传输与信任的功能。

解释原因:

    网站实现加密传输:用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。

    网站安装SSL证书后,使用https加密协议访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改。

    网站部署全球信任的SSL证书后,浏览器内置安全机制,实时查验证书状态,通过浏览器向用户展示网站认证信息,让用户轻松识别网站真实身份,防止钓鱼网站仿冒。

    证书显示的信息包含完整的公司信息。此类证书通过256位SSL加密来保障在线交易安全,能使你的用户和访问者明白他们与你网站的信息传输是采用先进的SSL加密技术,有赔付保障。

    EV证书浏览器显示绿色地址栏,绿色“锁”型安全标志,超强的256位加密保护,以及公司的名称和证书颁发该证机构名称。

    通过百度公告的颁布,明确指出搜索引擎在排名上,会优先对待采用HTTPS协议的网站。

    通过HTTP vs HTTPS对比测试,表明使用了SSL证书的新一代HTTP2协议,其访问网站的速度远远快于使用HTTP协议的网站。

    部署了SSL证书的网站会在浏览器地址栏中显示HTTPS绿色安全小锁。可告诉用户其访问的是安全可信的站点,可放心的进行操作和交易,有效提升公司的品牌形象和可信度。

解决办法:Gworg SSL证书可以实现HTTPS加密。

参考技术B SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的 超文本传输协议 (HTTP)使用 SSL 来实现安全的通信。它采用公开密钥技术为传输通信提供如下帮助: 1. 信息传输的保密性;2. 数据交换的完整性;3. 信息的不可否认性;4. 交易者身份确定性。
换句话说,服务器部署SSL证书后,其核心能就是确保服务器与浏览器之间的数据传输是加密传输的,在数据传输过程中不被篡改或被解密。浏览器上,用户可通过“金色锁型”标记,得知是否已处于SSL安全保护,如果更先进的VeriSign EV SSL证书,那么除了“锁型”标记外,浏览器的地址栏还会变成绿色。
选择SSL证书也需要考虑品牌通用性问题,全世界有众多CA机构,技术实力、经营状况各不相同,如何对这些签发证书的CA机构进行界定,证书信任根起到了关键作用。目前浏览器中,只会根预埋一些拥有强大技术实力的数字认证中心的根证书,例如VeriSign。而对于其他未经验证的数字认证中心签发的SSL证书,当用户在访问网站时,浏览器就会自动弹出安全警示窗口。在国内SSL证书由专业CA数字认证机构签发,例如九洲诚信专业负责证书签发,九洲诚信也是VerSign在中国区的首要合作伙伴,选择SSL证书时你需要看清签发机构证书品牌和签发机构资质,再做定夺
参考技术C SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安 SSL证书全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。

一楼的应该是说出错了,证书是保证信息不被第三方窃取来确保用户的数据的保密性的。本回答被提问者采纳
参考技术D ssl 就是一种有服务器端和客户端进行的加密安全证书。保证客户在信息传输过程中被第三方窃取。需要了解具体的信息 可以登录天威诚信的官网,他们是专门做ssl证书的追问

保证客户的信息传输过程被窃取啊?那我咨询GlobalSign数字证书的销售人员不是这么说的,是保障信息安全的啊

我的 openssl 和 ssl 默认 CA 证书路径是啥?

【中文标题】我的 openssl 和 ssl 默认 CA 证书路径是啥?【英文标题】:what is my openssl and ssl Default CA Certs Path?我的 openssl 和 ssl 默认 CA 证书路径是什么? 【发布时间】:2016-07-26 18:00:21 【问题描述】:

背景:

我正在尝试与外部供应商创建 SSL 上下文连接以进行握手,然后通过该连接使用 xml 进行通信。

clientCert = path["cert_path"]
clientKey = path["key_path"]
PROTOCOL = ssl.PROTOCOL_TLSv1
context = ssl.SSLContext(PROTOCOL)
context.load_default_certs()
context.load_cert_chain(clientCert, clientKey)
conn = httplib.HTTPSConnection(uri, 443, context=context) 
conn.request("POST", '/', headers=headers, body=signedRequest) # code breaks here
response = conn.getresponse()

但是这段代码会说:

SSLError(1, u'[SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:590)

现在,我知道 CA 证书已正确放置在服务器上,但路径变得混乱。

问题

我如何查看 sslopenssl 从中选择 CA 证书的 CA 路径。 Openssl 似乎建立了正确的连接,所以我需要在这里明确提供 ssl 的路径。

requests.utils路径可以找到如下,寻找类似的东西来理解context.load_default_certs()

In [1]: from requests.utils import DEFAULT_CA_BUNDLE_PATH

In [2]: print(DEFAULT_CA_BUNDLE_PATH)
/usr/local/python/path/site-packages/certifi/cacert.pem

【问题讨论】:

【参考方案1】:

好的……找到了:

命令将是openssl version -a

[someone@somewhere ~]$ openssl  version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Thu Jul 23 19:06:35 UTC 2015
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/etc/pki/tls"
engines:  rdrand dynamic

输出中会有一个值OPENSSLDIR,这将是基本路径

OPENSSLDIR: "/etc/pki/tls"

大多数情况下,这将是一个符号链接,使用ls -la 到这个OPENSSLDIR 路径

[someone@somewhere ~]$ ls -la /etc/pki/tls
total 32
drwxr-xr-x.  5 root root  4096 Apr  6 10:09 .
drwxr-xr-x. 11 root root  4096 Apr  4 08:47 ..
lrwxrwxrwx   1 root root    19 Apr  6 10:09 cert.pem -> certs/ca-bundle.crt
drwxr-xr-x.  4 root root  4096 Mar 22 18:15 certs

进一步ls -la

[someone@somewhere ~]$ ls -la /etc/pki/tls/certs/
total 1908
drwxr-xr-x. 4 root   root      4096 Mar 22 18:15 .
drwxr-xr-x. 5 root   root      4096 Apr  6 10:09 ..
lrwxrwxrwx  1 root   root        49 Apr  6 09:54 ca-bundle.crt -> /etc/pki/ca-trust/some/path/of/cert/tls-ca-bundle.pem

你会得到实际的路径:

/etc/pki/ca-trust/some/path/of/cert/tls-ca-bundle.pem

【讨论】:

以上是关于SSL数字证书是啥?的主要内容,如果未能解决你的问题,请参考以下文章

ssl certificate 是啥证书

哪位大神知道SSL Cert是啥?

自签名SSL证书是啥?有用吗

自签名SSL证书是啥?有用吗?

SSL数字证书是啥?

我的 openssl 和 ssl 默认 CA 证书路径是啥?