Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么使用sha256WithRSAEncryption作为ECDSA证书?

为什么使用sha256WithRSAEncryption作为ECDSA证书?
EN

Stack Overflow用户
提问于 2022-08-25 15:33:28
回答 2查看 202关注 0票数 -1

我试图理解使用ECDSA密钥基础上的证书,即。(由CA使用RSA密钥签名)。例如,当您连接到www.facebook.com

代码语言:javascript
运行
AI代码解释
复制
$ openssl s_client  -connect  www.facebook.com:443

您将得到用作ECDHE-ECDSA- as 128-GCM- the 256的密码套件。这意味着它使用了ECDSA密钥进行服务器身份验证。但是,如果您在这里查看服务器证书,您将看到签名算法: sha256WithRSAEncryption,这意味着它是使用RSA密钥签名的。

代码语言:javascript
运行
AI代码解释
复制
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            0c:1b:54:74:2f:1c:31:a6:c7:90:2f:1b:65:86:a7:e1
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert SHA2 High Assurance Server CA
        Validity
            Not Before: Jun  4 00:00:00 2022 GMT
            Not After : Sep  2 23:59:59 2022 GMT
        Subject: C=US, ST=California, L=Menlo Park, O=Facebook, Inc., CN=*.facebook.com
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:24:c8:04:40:24:b1:2b:4f:20:b6:a3:32:b3:94:
                    d5:72:84:bc:3d:50:e0:d4:92:78:fd:7e:f5:96:08:
                    83:a5:aa:a5:e2:79:7d:ea:19:85:92:d6:e2:0e:ea:
                    b8:71:12:d9:ed:4b:6c:a9:ed:d5:14:a8:dd:d0:4b:
                    fa:8d:4a:58:35
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Authority Key Identifier:
                keyid:51:68:FF:90:AF:02:07:75:3C:CC:D9:65:64:62:A2:12:B8:59:72:3B

            X509v3 Subject Key Identifier:
                3B:D9:84:5E:21:B3:62:D1:BC:0B:EB:8A:32:89:6C:F0:28:3A:50:0A
            X509v3 Subject Alternative Name:
                DNS:*.facebook.com, DNS:*.facebook.net, DNS:*.fbcdn.net, DNS:*.fbsbx.com, DNS:*.m.facebook.com, DNS:*.messenger.com, DNS:*.xx.fbcdn.net, DNS:*.xy.fbcdn.net, DNS:*.xz.fbcdn.net, DNS:facebook.com, DNS:messenger.com
            X509v3 Key Usage: critical
                Digital Signature
            X509v3 Extended Key Usage:
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://crl3.digicert.com/sha2-ha-server-g6.crl

                Full Name:
                  URI:http://crl4.digicert.com/sha2-ha-server-g6.crl

            X509v3 Certificate Policies:
                Policy: 2.23.140.1.2.2
                  CPS: http://www.digicert.com/CPS

            Authority Information Access:
                OCSP - URI:http://ocsp.digicert.com
                CA Issuers - URI:http://cacerts.digicert.com/DigiCertSHA2HighAssuranceServerCA.crt

            X509v3 Basic Constraints:
                CA:FALSE
            1.3.6.1.4.1.11129.2.4.2:
                ...l.j.w.)y...99!.Vs.c.w..W}.`
..M]&\%]......,X.......H0F.!..6m.#.u.kE.g.......S.#.!...4..h..!..Ca..B{.=f.v.W9=..j%..........b>.v.A...."FJ...:.B.^N1.....K.h..b.......,X.......G0E. ..SWQ_o..Ov....<*.....X"......le.!....~l...@[.}.E.........!<.......b,(w.J.>A....0.q.!..i..aA.M.u1XZ..,~.....*H)..~fg...!..
    Signature Algorithm: sha256WithRSAEncryption
         ab:5b:e0:a0:43:b5:15:26:fa:7d:b3:03:14:54:5c:6b:b4:fd:
         c4:6e:35:8d:8d:1a:5c:80:09:af:48:a0:4f:cc:ef:ff:e8:c2:
         c9:3d:59:a9:95:03:6c:3d:78:04:35:e8:c7:55:5e:ae:16:5a:
         d6:90:3b:23:bc:25:49:7d:a6:3c:10:1d:17:2f:00:c4:07:3b:
         59:15:9c:88:5c:1d:8d:8a:83:30:6a:e2:bc:99:13:3f:8b:9f:
         f8:a2:99:71:ea:97:b7:fb:48:48:79:8b:e8:23:c5:c5:fc:55:
         d0:8e:85:ed:95:07:af:b0:51:1e:0a:c9:0c:40:7e:fa:c6:86:
         b7:30:2b:02:2c:5d:db:ba:07:73:2b:b0:95:cb:86:46:a6:60:
         d7:be:10:85:55:77:ca:e9:97:84:d2:dc:00:d6:7b:97:90:06:
         50:40:09:aa:68:9d:c2:29:b0:db:00:c9:1b:e4:18:06:04:cf:
         38:de:dc:05:b7:b4:67:ed:15:ae:c7:b8:b0:4a:6c:12:6f:f8:
         ec:6a:d9:69:57:0f:f7:99:b2:05:14:35:5c:95:f8:f9:02:0f:
         ae:48:7d:5a:91:16:cd:1a:fd:a8:63:b7:97:4f:31:4d:dd:ff:
         f1:b3:ea:79:32:18:44:fc:a7:37:3e:65:a3:15:4e:d4:30:39:
         d3:d7:ee:83

因此,客户端必须使用CA的RSA (公共)密钥验证sha256摘要。但是为什么密码套件仍然说ECDSA在这里被使用呢?ECDSA是用来做什么的?有人能澄清吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-28 20:49:45

实际上,在ServerKeyExchange消息中,参数是用服务器的私钥(这里是ECDSA密钥)签名的,并且可以使用服务器的公钥进行验证。因此,这似乎是真正使用服务器的ECDSA私钥,而不是任何对称密钥派生。

票数 0
EN

Stack Overflow用户

发布于 2022-08-26 02:57:07

公钥确实是ECDSA,但是签名证书的ca使用RSA密钥对其进行签名。这只是表示它可以被信任的签名。这与实际签署的密钥无关。您仍然在使用ECDSA进行实际加密。

因此,澄清:

这里使用ECDSA进行公钥加密。在大多数情况下,公钥加密速度太慢,无法达到实际目的,比如使用SSL/TLS的web服务器加密。在这种情况下,web服务器和客户端使用公钥安全地传递一个更有效的对称密钥。因此,对称密钥是使用ECDSA公钥加密的。

严格地说,对称密钥可以安全地在客户端和服务器之间传递,而无需验证公钥上的签名。加密是有效和安全的。

但是,如果没有签名的公钥,就不可能信任公钥属于它所声明的服务器/组织。一般来说,信任链。证书本质上是由私钥签名的公钥。签名意味着允许您信任密钥。

CA被创建为执行公钥签名的可信第三方。签名与正在签名的实际密钥类型或密钥将使用的加密算法无关。这只是一个签名的信任(希望)第三方。第三方使用的密钥类型将决定签名的算法和类型。

希望这样更清楚。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73494643

复制
相关文章
Object 类型
ECMAScript中大多数的引用类型都值都是Object类型的实例,Object也是使用最多的一个类型,主要用来在程序中存储和传输数据
河岸飞流
2019/09/11
5390
JavaScript引用类型之Object类型
在JavaScript中大多数的引用类型都是Object的实例,Object类型也是使用最多的类型! 创建Object类型实例的方式有两种,下面分别来分析一下: (1)第一种是使用new操作符后跟Object构造函数,代码如下: var perosn=new Object(); person.name="张三"; person.age=22; (2)第二种方式使用对象字面量表示法。对象字面量是对象定义的一种简写方式,目地就是为了简化创建含有大量属性和方法的对象的过程。代码如下: var person={ n
郑小超.
2018/01/24
8890
变量类型测试函数的使用:六、is_object的用法
讲完PHP变量类型测试函数【is_array】的用法,今天来讲讲PHP变量类型测试函数【is_object】的用法。
大脸猫
2020/07/06
7110
变量类型测试函数的使用:六、is_object的用法
匿名类型和Object转换
本文转载:http://www.cnblogs.com/JustRun1983/archive/2012/05/13/2497997.html
跟着阿笨一起玩NET
2018/09/18
8000
一文读懂 TS 中 Object, object, {} 类型之间的区别
TypeScript 2.2 引入了被称为 object 类型的新类型,它用于表示非原始类型。在 JavaScript 中以下类型被视为原始类型:string、boolean、number、bigint、symbol、null 和 undefined。
阿宝哥
2020/04/08
18.2K0
判断Object中数据类型(已知类型、未知类型))
接收到的数据类型为Object,如果知道数据的类型可以使用ObjectMapper进行处理,得到里面的参数。
ha_lydms
2023/08/09
3120
object到底是什么类型
instanceof运算符用来判断某个构造函数的prototype属性所指向的对象是否存在于另外一个要检测对象的原型链上。
用户7293182
2022/01/06
3970
object到底是什么类型
java中将Object类型转换成String类型[通俗易懂]
从下图(a图)的String类的valueOf(Object)的源码可以看到,当传入的值为null的时候返回的是“null”字符串,而不是null,所以在这里如果想判断这个string的值不为空的时候,应该用字段串相关判断不为空的方法例如用equals方法。示例如下(b图)
全栈程序员站长
2022/08/30
1.3K0
java中将Object类型转换成String类型[通俗易懂]
JS原生引用类型解析1-Object类型
(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)
love丁酥酥
2018/08/27
2.2K0
ElasticSearch数据类型Object介绍
JSON文档本质上是分层的:文档可能包含内部对象,而内部对象又可能包含内部对象本身:
xdd
2022/07/12
1.2K0
红宝书 📒 6.1 集合应用类型-object
字面量的声明方式更为常用。在使用对象字面量表示法定义对象时,并不会实际调用Object构造函数。
用户4793865
2023/01/12
2650
TypeScript-never和object类型、类型断言概述
TypeScript 中的 "never" 类型表示一个永远不会发生正常结束的函数返回值类型,通常在异常处理或无限循环中使用。这有助于标识代码中的潜在问题和错误流程。
杨不易呀
2023/09/28
2680
TypeScript-never和object类型、类型断言概述
js中Object类型的一些特点
这种方法简单,直接,但感觉也太随意了,当需要定义大量的属性或方法时,会给人一种凌乱不堪的感觉。
风柏杨4711
2021/03/15
1K0
java string 转 object_java 类型转换 Object和String互转
但是,使用toString()的对象不能为null,否则会抛出异常java.lang.NullPointerException
全栈程序员站长
2022/09/05
2.5K0
【Flutter】Dart 数据类型 ( var 数据类型 | Object 数据类型 )
var 也是定义变量的关键字 , 使用 var 声明变量 , 也是 由系统根据该变量的 赋值 自动 推断该变量的数据类型 ; 该用法与 dynamic 关键字定义的变量类似 ;
韩曙亮
2023/03/28
3K0
【Flutter】Dart 数据类型 ( var 数据类型 | Object 数据类型 )
无法解析类型java.lang.Object_java类型转换异常
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.xxx.xxxx.entity.xxxx
全栈程序员站长
2022/10/03
1.2K0
无法解析类型java.lang.Object_java类型转换异常
Java-类型转换,String转Object和Object转String「建议收藏」
String 转换 Object : 使用类似 Obj.parseObj(String) , Obj.valueOf(String)
全栈程序员站长
2022/06/30
6K0
Java-类型转换,String转Object和Object转String「建议收藏」
Dart 中变量类型 var, Object, dynamic 区别
Dart 中弱类型有var, Object 以及dynamic,本文主要探讨一下这三者的区别
莫斯
2020/09/10
1.6K0
Dart 中变量类型 var, Object, dynamic 区别
Object转换为String[]数组,或者其他类型的数组
可以通过向下转型来获得,但是不知道为什么包类异常,最后我采用的方法如下:
全栈程序员站长
2022/09/02
2.7K0
点击加载更多

相似问题

错误:预期的声明,使用未声明的类型'Object',使用未声明的类型'JSON‘

10

未声明类型的使用

12

“‘object”未声明<在此function>中首次使用

21

未声明类型"NSManagedObjectModel“的使用

14

未声明类型“MessagingDelegate”的使用

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档