我使用 OpenSSL 的req -x509命令和 CONF 文件创建了一个自签名服务器证书。CONF 文件如下所示。
当我使用 Microsoft 证书查看器检查证书时,它显示警告basicConstraints(注意小感叹号):

CONF 文件使用以下内容来构建 basicConstraints:
basicConstraints = critical,CA:FALSE
Run Code Online (Sandbox Code Playgroud)
根据RFC 5280,pathLen只有当CA:TRUE和keyCertSign存在时才应该存在。服务器的证书不满足任一条件(另外,测试pathLen导致相同的警告)。
为什么 Microsoft 证书工具警告打开basicConstraints?它有什么问题或我应该怎么做才能解决它?
# Self Signed (note the addition of -x509):
# openssl req -config example.conf -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout example.key.pem -days 365 -out example.cert.pem
# Self Signed with existing key (note the addition of -x509):
# openssl req -config example.conf -new …Run Code Online (Sandbox Code Playgroud) 一些背景信息,我在 github 上有我的 bash/vim 设置版本,我在机器之间同步。我有这个设置并在 Windows 10 PC 上工作。值得一提的是,所有这些设置都位于 %USERPROFILE% 下(请参阅此)
我最近在这个 Win10 机器上安装了 Ubuntu,并将 shell 用户映射到 Windows %USERPROFILE% - 非常适合一般 bash 使用,因为我现有的(Ubuntu 安装前)bash 文件无论如何都放在那里。
我已经在 SSH 上设置了 Windows GIT 命令行(%USERPROFILE%/.ssh/ 等下的公钥和私钥)。
现在谈这个问题。我启动 bash shell 并在本地存储库文件夹中执行“git pull”。期望 Ubuntu 上的 git 应该在我的 Windows %USERPROFILE% 下获取公钥/私钥。这确实发生了,但我收到了消息
root@MY_MACHINE:~/.settings# git pull
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @
WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/mnt/c/Users/my_user/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by
others. This private …Run Code Online (Sandbox Code Playgroud) 我使用数字签名来签署我的发票(我所在国家/地区的数字发票法律要求)。问题是,我的地方当局签发了有效期仅为一年的签名证书(几乎所有证书颁发机构都这样做)。
每年这都会给我留下一堆 PDF,Acrobat Reader 说无法验证签名,因为证书可能已过期或被撤销。(我在 64 位 Linux 上使用第 9 个版本,但在 Windows 上使用 X 版本做同样的事情)。
是否有程序可以告诉我这种无法验证的签名是否对给定的公共证书有效以及何时有效?
(如果没有,在技术上是否可以将其拼凑在一起?)
谢谢,彼得
我需要 Oracle wallet manager/orapki 工具来创建钱包,但我找不到它们的安装。
我想在 Ubuntu 上安装它们(但 Windows 或任何 linux 也是可能的)。
有人可以给我提示如何在我的机器上获取 orapki 吗?
OpenSSL 1.0.1e 2013 年 2 月 11 日
生成自签名证书:
openssl req -x509 -newkey rsa:1024 -keyout key.pem -out cert.pem -days 365
在此过程中,需要PEM 密码:
输入 PEM 密码:
正在验证 - 输入 PEM 密码:
以PEM格式成功完成后有 2 个结果文件:
密钥.pem,证书.pem
私钥(key.pem)采用PKCS#8格式,起始行如下:
-----开始加密私钥-----
现在我正在尝试将证书以及相关的私钥组合到PKCS#12密钥库中,并使用密码保护密钥库。注意 - 根据我的理解,这应该有效地强制在读取访问期间请求密码,以及相应条目的私钥的密码:
openssl pkcs12 -export -inkey key.pem -in cert.pem -out keystore.p12
执行时,我被问到以下问题:
输入 key.pem 的
密码:输入导出密码:
正在验证 - 输入导出密码:
但是,据我所知,现在存储在keystore.p12文件中的私钥的密码短语应该保持不变。这是我尝试读取密钥库内容的方法:
openssl …
pki ×5
certificate ×2
git ×1
openssl ×1
pkcs ×1
rsa ×1
ssl ×1
ubuntu ×1
windows ×1
windows-10 ×1