首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >证书x509扩展

证书x509扩展
EN

Stack Overflow用户
提问于 2014-04-24 02:37:26
回答 2查看 648关注 0票数 1

我有一些封闭的应用程序作为HTTP服务器使用SSL。我想交换证书,但由于某种原因,我的自签名证书被拒绝,服务器没有发送服务器问候(我得到104错误)。有谁知道它们之间的区别是什么,问题可能是什么?顺便说一句。也有一些CA,但我认为这无关紧要,因为如果没有它们,服务器也会返回它的证书。我尝试使用以下命令生成我的证书:

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 360

我的证书:

代码语言:javascript
复制
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            e7:ee:93:5d:78:65:56:ad
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: O=(...), CN=(...)
        Validity
            Not Before: Apr 23 17:58:29 2014 GMT
            Not After : Apr 18 17:58:29 2015 GMT
        Subject: O=(...), CN=(...)
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                (...)
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                31:CD:5A:41:C0:64:DD:C4:96:30:AB:E2:99:9F:2D:40
            X509v3 Authority Key Identifier:
                keyid:31:CD:5A:41:C0:64:DD:C4:96:30:AB:E2:99:9F
1

            X509v3 Basic Constraints:
                CA:TRUE
    Signature Algorithm: sha1WithRSAEncryption
    (...)

-----BEGIN CERTIFICATE-----
(...)
-----END CERTIFICATE-----

原始证书:

代码语言:javascript
复制
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1284084212 (0x4c8991f4)
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: O=(...), CN=(...)
        Validity
            Not Before: Apr 23 17:58:29 2014 GMT
            Not After : Apr 18 17:58:29 2015 GMT
        Subject: CN=(...).com, O=(...)
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                (...)
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Certificate Policies: 
                Policy: (...)

            X509v3 Subject Alternative Name: 
                DNS:(...).com
            X509v3 Authority Key Identifier: 
                keyid:(...)

            X509v3 Subject Key Identifier: 
                (...)
    Signature Algorithm: sha256WithRSAEncryption
    (...)
-----BEGIN CERTIFICATE-----
(...)
-----END CERTIFICATE-----
EN

回答 2

Stack Overflow用户

发布于 2014-04-24 03:09:50

如果我理解ssl是如何工作的,这里发生的事情是:以前你有一个服务器,它的证书是由某个权威机构签署的,你的浏览器信任它。即使当你尝试使用https://...访问服务器上的url时,它也没有互联网连接,浏览器会检查服务器的证书,嘿,它是用ca签名的,这是我信任的,所以我们可以继续了。但情况不再是这样了。如何让您的客户端信任自签名证书取决于客户端是谁:浏览器、移动应用程序等等。如果是浏览器,请检查其设置。注意:服务器没有internet连接的事实并不意味着证书是由某个本地CA签名的,因为一些默认的全局信任CA的列表是在浏览器的设置中预先配置的。

票数 0
EN

Stack Overflow用户

发布于 2014-04-24 03:18:49

以下扩展是必需的,但似乎缺少:

  • 密钥用法: critical、keyEncipherment (也可能是digitalSignature?)
  • 扩展密钥用法:server Netscape证书类型: server

此外,CN应与主机名匹配(或主题备用名称与主机名匹配)。当然,因为证书是自签名的,所以您必须显式地向客户端添加信任。

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

https://stackoverflow.com/questions/23252582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档