我想从 X.509 证书中提取原始十六进制 ASN.1 数据。我知道,我可以通过使用 DER 格式并对其进行十六进制转储来做到这一点。
我对“主题”、“发行人”及其原始十六进制 ASN1 数据等特定部分感兴趣。
购买证书时的命名约定是什么(如果有)?
当为特定服务器购买 TLS/HTTPS 证书时,我自然会默认服务器的名称。例如,如果服务器名为 MOONSERVER,我会将x509 证书的主题设置为 MOONSERVER。
此外,我需要使用另一个证书进行消息签名。我应该怎么称呼这个?有效名称的规则是什么?例如,连字符、下划线等可以吗?名称区分大小写吗?
以下是在https://www.ssllabs.com/ssltest/analyze.html?d=bungalowsoftware.com上测试 SSL 证书的结果

看起来我们有两张证书。我读得对吗?使用该证书的 SSL 服务 (CloudFlare.com) 是否指向特定证书?
使用以下命令查看证书的详细信息:
openssl x509 -noout -text -purpose -in mycert.pem
Run Code Online (Sandbox Code Playgroud)
我找到了一堆目的标志(我发现这些标志是由附加到证书的各种扩展设置的)。
这些目的标志之一是“任何目的”。我似乎找不到关于这个标志的任何文档以及为什么或为什么不设置它。
你们中有人知道我在哪里可以找到有关此目的的更多信息及其含义吗?
谢谢,
我需要在 Windows Server 上快速生成自签名证书。我想使用它附带的标准 CLI 工具。我知道我可以使用 openssl。
我一直在搜索 RFC 5280、1034 和 1123,试图找出最大字符串长度是多少,但我找不到它。我想知道你们中是否有人碰巧知道。
对于那些了解 X509v3 证书的人,您知道可以在证书中包含主题备用名称 (SAN)。SAN 有多种类型:电子邮件地址、DNS 名称、目录名称等。
我将 DNSName 类型的 SAN 添加到我的证书中,但我无法弄清楚 DNSName 类型的 SAN 的最大长度是多少。
你们有人知道吗?
我可以使用此命令查看证书
openssl s_client -host {HOST} -port 443 -prexit -showcerts
Run Code Online (Sandbox Code Playgroud)
如何将网站的 x509 证书保存在 PEM - 文件中?
我必须使用 X.509 证书启用内部身份验证来启动我自己的副本集,但我失败了。欢迎任何建议。
Debian 8.2 x64 上的 MongoDB 3.2 x64。
这是 MongoDB 大学课程“M310:MongoDB 安全性”中的一个问题。
一位导师:
您可以使用身份验证选项启动您的服务器成员,然后使用 rs.initiate,然后创建您的用户。
我有这个文件夹结构:
~
`-- shared
`-- certs
|-- ca.pem
|-- client.pem
`-- server.pem
Run Code Online (Sandbox Code Playgroud)
我创建了这个 bash 脚本来设置我的副本集:
#!/bin/bash
course="M310"
exercise="HW-1.3"
workingDir="$HOME/${course}-${exercise}"
dbDir="$workingDir/db"
logName="mongodb.log"
ports=(31130 31131 31132)
replSetName="rs1"
host=`hostname -f`
initiateStr="rs.initiate({
_id: '$replSetName',
version: 1,
members: [
{ _id: 0, host: '$host:${ports[0]}' },
{ _id: 1, host: '$host:${ports[1]}' },
{ _id: 2, host: '$host:${ports[2]}' }
]
})"
# create working folder
mkdir -p "$workingDir/"{r0,r1,r2}
# launch …Run Code Online (Sandbox Code Playgroud) 我在使用 mod_proxy 将客户端 x509 证书从 Apache 转发到 Tomcat 时遇到了困难。
从观察和阅读一些日志来看,客户端 x509 证书似乎正在被 Apache 接受。但是,当 Apache 向 Tomcat(其中包含 clientAuth="want")发出 SSL 请求时,在 ssl 握手期间似乎没有传递客户端 x509 证书。
是否有一种合理的方法可以查看 Apache 在与 Tomcat 握手期间对客户端 x509 证书进行的操作?
这是我正在使用的环境:Apache/2.2.3 Tomcat/6.0.29 Java/6.0_23 OpenSSL 0.9.8e
这是我的 Apache VirtualHost SSL 配置:
<VirtualHost xxx.xxx.xxx.xxx:443>
ServerName xxx
ServerAlias xxx
SSLEngine On
SSLProxyEngine on
ProxyRequests Off
ProxyPreserveHost On
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel debug
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /usr/local/certificates/xxx.crt
SSLCertificateKeyFile /usr/local/certificates/xxx.key
SSLCertificateChainFile /usr/local/certificates/xxx.crt
SSLVerifyClient optional_no_ca
SSLOptions +ExportCertData
CustomLog logs/ssl_request_log \
"%t …Run Code Online (Sandbox Code Playgroud) 我有一个来自 Letsencrypt 的 .pem 格式的证书链,称为 fullchain.pem
它在链中有 2 个证书:
keytool -printcert -v -file fullchain.pem |grep "Certificate fingerprints" |wc -l
2
Run Code Online (Sandbox Code Playgroud)
当我将其转换为 .der 时使用
openssl x509 -in fullchain.pem -out cert.der -outform DER
Run Code Online (Sandbox Code Playgroud)
它只导出最后一个
keytool -printcert -v -file cert.der |grep "Certificate fingerprints" |wc -l
1
Run Code Online (Sandbox Code Playgroud)
这是openssl中的错误吗?我错过了一个参数吗?
x509 ×10
certificate ×6
openssl ×4
ssl ×2
apache-2.2 ×1
flags ×1
mongodb ×1
tomcat ×1
windows ×1