- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我认为我有正确的 OpenSSL 命令来签署证书,但我陷入了困境,而且我发现的教程使用了不同的参数格式(我使用的是 OpenSSL 0.9.8o 01 Jun 2010)。
openssl ca -cert cert.pem -keyfile key.pem
(私钥未加密,CSR 位于标准输入上。)
它给出了这个错误
Using configuration from /usr/lib/ssl/openssl.cnf
./demoCA/index.txt: No such file or directory
unable to open './demoCA/index.txt'
查看该配置文件:
[ ca ]
default_ca = CA_default # The default ca section
[ CA_default ]
dir = ./demoCA # Where everything is kept
certs = $dir/certs # Where the issued certs are kepp
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
我没有任何这样的设置。 我不想进行任何设置。
这是严格必要的,还是有“不打扰”选项?
我尝试创建空目录和文件,但我陷入了困境。我真正想要的是像上面这样的命令能够工作,输出在标准输出上,而不需要触及文件系统上的任何东西。
最佳答案
我不知道有什么“不用打扰”的选项,但以下是如何设置快速演示 CA:
#!/bin/bash
CAROOT=/path/to/ca
mkdir -p ${CAROOT}/ca.db.certs # Signed certificates storage
touch ${CAROOT}/ca.db.index # Index of signed certificates
echo 01 > ${CAROOT}/ca.db.serial # Next (sequential) serial number
# Configuration
cat>${CAROOT}/ca.conf<<'EOF'
[ ca ]
default_ca = ca_default
[ ca_default ]
dir = REPLACE_LATER
certs = $dir
new_certs_dir = $dir/ca.db.certs
database = $dir/ca.db.index
serial = $dir/ca.db.serial
RANDFILE = $dir/ca.db.rand
certificate = $dir/ca.crt
private_key = $dir/ca.key
default_days = 365
default_crl_days = 30
default_md = md5
preserve = no
policy = generic_policy
[ generic_policy ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
EOF
sed -i "s|REPLACE_LATER|${CAROOT}|" ${CAROOT}/ca.conf
cd ${CAROOT}
# Generate CA private key
openssl genrsa -out ca.key 1024
# Create Certificate Signing Request
openssl req -new -key ca.key \
-out ca.csr
# Create self-signed certificate
openssl x509 -req -days 10000 \
-in ca.csr \
-out ca.crt \
-signkey ca.key
现在您可以生成并签署 key :
# Create private/public key pair
openssl genrsa -out server.key 1024
# Create Certificate Signing Request
openssl req -new -key server.key \
-out server.csr
# Sign key
openssl ca -config ${CAROOT}/ca.conf \
-in server.csr \
-cert ${CAROOT}/ca.crt \
-keyfile ${CAROOT}/ca.key \
-out server.crt
关于OpenSSL 作为 CA,无需触及 certs/crl/index/etc 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768593/
我有一个工作证书,但由于某种原因无法从中获取 CRL 信息。 我运行它以确保它正常工作: openssl x509 -outform PEM -in cert_2_.pem 这是输出: -----BE
全部, 有人对 Azure 上 CRL 使用的最佳实践有最好的看法吗? 背景:使用客户端证书进行身份验证的 Azure 托管服务。我们拥有一个 CA(我们拥有、管理和信任)并向客户端颁发链式证书,用于
SSLLabs.com 报告我的 SSL 证书有问题。 我以前从未见过这种错误。我的所有 5 个域都使用 Comodo SSL(单独的证书)并且都显示完全相同的错误消息。 在我的专用服务器上是否需要更
我需要每周一次下载并安装大约 50 个 CRL,并将它们安装在多个 Windows 服务器上。下载是简单的部分,有什么方法可以编写 CRL 导入过程的脚本吗? 最佳答案 这是我的最终来源(为公众略微删
我正在使用 OpenSSL 验证自定义 PKI 中的签名代码。如何验证证书层次结构中每个节点的 CRL。 我的层次结构是:RootCA -> SubCA1 -> SubCA2 -> EndUser。我
我想使用Android的硬件KeyStore功能,所以我使用Pixel3手机来获取KeyStore对象的证书链,如this article所示. 查看一个特定的.cer例如,文件中的 CRL 分发点为
我希望这个问题不会与 StackOverFlow FAQ 规则混淆 所以,例如,当使用用 C++ 编写的库时,这意味着我们在这些 DLL 中有一些代码将要执行,当在这种情况下执行软件时,这部分代码将由
查看 uWSGI 文档,我看到我可以指定一个 CA 证书来检查任何传入的 SSL 请求并确保它们具有由该 CA 签名的客户端证书(http://uwsgi-docs.readthedocs.org/e
如何在 java 中设置默认的 CRL 路径。至于现在不包含 CRL 分发点的证书,我得到这个: PKIX path validation failed: java.security.cert.Cer
我已通过阅读以下 msdn 链接使用 makecert.exe 创建了一个自签名证书: https://msdn.microsoft.com/en-us/library/ff648498.aspx 但
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwa
据我所知和提到的here浏览器检查特定证书吊销状态的主要技术有两种:使用在线证书状态协议(protocol) (OCSP) 或在证书吊销列表 (CRL) 中查找证书。 嗯,我知道有一些在线 OCSP
如何以编程方式检查某个证书是否已从其 CA CRL 列表中吊销? 我这样做: X509Chain ch = new X509Chain(); ch.ChainPolicy.RevocationMode
有没有办法立即使 CRL(证书撤销列表)缓存失效,从而导致客户端再次下载 CRL? 我想在 C# 中实现它而不求助于命令行“certutil.exe”。 更好的是能够设置失效时间(比如 UtcNow
我有一个基本的 nginx 家庭服务器设置,我使用客户端证书来允许外部访问。我已按照本指南进行所有设置,并按预期工作: https://gist.github.com/rkaramandi/20a04
我正在使用 WinVerifyTrust 来验证文件签名。 互联网连接非常糟糕,所以我只想检查本地缓存。 问题是我不知道应该如何设置 WinTrustData 中的参数 关于 fdwRevocatio
我正在使用的引用书(Network Security with OpenSSL,由 Viega、Messier 和 Chandra 撰写)第 133 页指出: [...] an application
我们正在使用 Python 和 OpenSSL 读取 CRL 文件以提取已撤销证书序列号的列表。在解析文件之前,我们需要添加检查以验证 CRL 是否已使用受信任的证书导出。 在命令行中,适当的 Ope
我正在使用 python、pyopenssl 库来根据其 CA 验证 CRL。 我拥有的是: 我获得证书颁发机构: with open(ca_file_path) as ca_file_obj:
我有一个 CRL 和一个用作 CA 证书的自签名证书。我需要验证同一个 CA 是否同时颁发了 Java 中的 CRL 和根证书。我的想法是这样的: X500Principal rootCertIssu
我是一名优秀的程序员,十分优秀!