- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
据我所知,所有 SSL 证书都是使用非对称公钥/私钥对的公钥签名的。
但是所有(至少我检查过的)互联网上的例子都使用私钥
我找到的一种自签名方法是使用以下命令:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
我发现的其他方法是:
sudo openssl genrsa -out mykey.key 2048
sudo openssl req -new -key mykey.key -out mycsr.csr
sudo openssl x509 -req -days 365 -in mycsr.csr -signkey mykey.key -out mycert.crt
以上示例是使用公钥创建证书还是私钥。如果是私钥,它是正确的用法吗?
还有一点,
自签名与 CA 签名证书有什么区别。
证书中是否有签名机构的任何其他信息?
CA 签名究竟意味着什么?
他们使用自己的私钥进行签名还是这是怎么回事?
编辑:
上述声明据我所知
来自以下网站的第 2 点。由于我对 SSL 概念还很陌生,所以我在理解它的声明时可能完全错了
http://tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html
如果私钥用于签署证书,并且在 apache http 服务器配置中使用相同的私钥,我仍然很困惑浏览器将在其初始 SSL 握手中从哪里获取公钥
我指的是apache httpd的以下配置
<VirtualHost 192.168.0.1:443>
DocumentRoot /var/www/html2
ServerName www.yourdomain.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>
更新:
我特别指出上面链接的1.2.2 节
This someone, you have to implicitly trust: you have his/her certificate loaded in your browser (a root Certificate). A certificate, contains information about the owner of the certificate, like e-mail address, owner's name, certificate usage, duration of validity, resource location or Distinguished Name (DN) which includes the Common Name (CN) (web site address or e-mail address depending of the usage) and the certificate ID of the person who certifies (signs) this information. It contains also the public key and finally a hash to ensure that the certificate has not been tampered with.
最佳答案
Why SSL certificates are signed with the private key?
因为这就是数字签名的定义方式。用公钥签名并不能证明什么。数字签名必须是只有签名者才能做的事情,就像你在支票上的签名更难伪造一样。更难。
As far as I read all the SSL certificates are signed using public key of the asymmetric pub/priv key pair.
不,你没有,你误解了你正在阅读的内容。
But all (atleast what I checked) the examples out there on internet are using private key
当然。
Are the above examples using public key to create the certificate or private key. If private key, is it a right usage?
他们都在使用。公钥嵌入证书中,私钥用于签名。
What is the difference from self-signing vs CA signing the certificate.Is there any additional information of the signing authority present in the certificate?
是的,有一个 IssuerDN 字段。
And what does CA signing actually mean? Do they use their own private keys to sign?
是的。
The above statement As far as I read is from point#2 of the following website.
不,不是。
I could be completely wrong
是的。
If private key is used for signing the certificate and also the same private key is used in apache http server configuration I'm still confused from where will the browser get the public key in its initial SSL handshake
来自证书。
I'm specially pointing to the section 1.2.2 of the above link where it states
[snip] It contains also the public key and finally a hash to ensure that the certificate has not been tampered with.
没有关于使用公钥签署证书的内容。 “包含”并不意味着“签署”。
关于ssl - 为什么 SSL 证书是用私钥签名的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41270247/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 6 年前。 Improv
我们最近构建了一个 Web 生成器应用程序(所见即所得、预先设计的模板、购物车等)。我们一直在寻找 SSL 证书的几个不同选项,甚至是通配符,以寻求解决方案。问题是我们不想每次有客户想要将 SSL 添
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 6 年前。 Improve
我想这是不可能的,但如果是这样,我想知道为什么。 假设我从附近的官方证书颁发机构之一获得了 example.com 的 SSL 证书。假设我正在运行 a.example.com 和 b.c.d.exa
在我的 java 应用程序中,我有一个带有自签名证书/ key 的 JKS keystore 。我需要加载它们并将它们转换为 BouncyCaSTLe 类型。 我正在使用 java.security.
我不是这方面的专家,但我只是遵循 Android 开发者网站上列出的代码 keytool -genkey -v -keystore orbii.jks-keyalg RSA -keysize 2048
我正在为我的一个应用程序实现推送通知系统,所以我正在关注 this教程并为此生成 SSL 证书。 我的这个应用程序还涉及应用程序和服务器之间的一些数据交换,我希望它受到 SSL 保护,我想知道从 ve
可能这是重复的问题,但我没有从上一个问题中完全清楚,这就是我发布新问题的原因。请看看这个。我会将 Ca 证书放在我的资源文件夹中以验证 ca 认证的证书,服务器中也会有相同的 ca 证书。 我正在创建
首先,我想指出这在 Internet Exporer 11 上运行良好。但出于某种原因,我无法让 FireFox 正常运行! 所以我已经添加了我自己的 rootCA 安全证书,在 Internet E
我有域“www.example.com”的 SSL 证书,我已将此证书安装在运行良好的端口 80 上的 tomcat 服务器中。现在我的要求是在 https 中运行 php 代码,因为我的 Apach
我正在构建一个 oauth 1.0a 服务,它将被 Jira 中的一个小工具使用,它是一个用 C# 编写的 .Net 3.5 应用程序。 Jira 使用 RSA-SHA1 签名方法向此服务发出请求,这
假设用户打开 https://ssl-site.example/link/index.php我用 ProxyPass 配置了我的服务器和 ProxyPassReverse在 Apache 配置中(在
我有一个 tcp 服务器,它使用证书进行 ssl/tls 和许可。对于 ssl/tls,证书存储在 pkcs#12 文件中,我认为该文件将作为安装过程的一部分进行安装。 关于 Rhino 许可,作为安
我开始想第一次在 jmeter 中记录。 我的步骤是: 我在 mac 上安装了 jmeter:brew install jmeter 我创建了新的录音模板 我点击开始按钮。它显示如下图所示的弹出窗口。
通常,我的困惑似乎正在从我在WCF上下文中理解安全性的尝试中消除。在WCF中,似乎可以将证书用于身份验证和加密。基本上,我试图理解: 如何将X509证书用作身份验证令牌? ssl证书通常不公开吗?这是
我正在尝试使用 openssl 库让客户端通过 https 连接到某些服务器。 调用堆栈是这样的: SSL_library_init(); SSL_load_error_strings(); SSL_
我正在阅读 this article其中解释了 iOS/OSX 中的代码签名。 我知道从KeyChain Access utility 我可以看到我的证书,如果展开我的开发者证书,我可以看到有一个私钥
我有一个既在互联网上又在私有(private)网络上的服务器。 我正尝试按照我的经理的要求在内部专用网络上设置 TLS。 该服务可供 Internet 和私有(private)内部网络客户端使用。 外
我在具有不同域扩展名的单个网络服务器中设置了我的站点,例如 https://mybusiness.com https://mybusiness.com.au https://mybusiness.co
我正在开发一个移动应用程序。我是网络开发的新手。 我在 GoDaddy 上有 DNS(比如 app.test.com)并且有一个只有 IP 地址的服务器(比如 31.254.42.73)。我的请求从
我是一名优秀的程序员,十分优秀!