- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要制作轻量级 PKC,因为我想从用户证书中删除 x509 v3 扩展。我可以使用这个 openssl 命令删除 v3 扩展吗?
openssl x509 -in/usr/local/openca/var/openca/crypto/certs/E841B2655206FA6A3ADA.pem -noout -text -certop no_extensions -out/usr/local/openca/var/openca/crypto/certs/-出去E841B2655206FA6A3ADA_nov3ext.pem
或者我应该在哪里进行更改以生成 x509 v1 证书,因为它不包含 x509 扩展。能否请您提供一个链接供我引用。
感谢您的宝贵时间。
最佳答案
通常(好吧,实际上总是真的!)签名不仅仅覆盖证书上的专有名称;但其他所有内容(序列号、有效期等)也是如此。
因此,虽然将证书缩小到一定大小并不难,但它会立即使颁发者的签名无效。
但是 - 在某些情况下,可以做其他事情 - 即完全分发/忽略证书的签名部分;只关注公钥。
使用类似的东西
cat somecert.pem | openssl x509 -pubkey -nout
只获取公钥。所以放弃所有的 X509,本质上不再有 PKI。只是原始公钥和私钥对。
然后在您的应用程序中犯下发明您自己的加密货币的相当不可原谅的错误 - 并让该公钥的所有者使用其私钥签署类似 NONCE 的东西;并验证签名。例如
# the 'server' sends a nonce to the client
openssl rand -base64 128 > send-to-client
然后在客户端上签名
cat 消息来自服务器 | openssl pkeyutl -inkey privkey.pem -sign | base64 > 发送到服务器
然后在服务器上我们检查这个
cat msg-from-client | openssl pkeyutl -in pubkey-of-client.pem -verify
并在那里形成事物。然而,除非你是一个牛逼的密码学家和协议(protocol)设计者,否则像这样的方案(当然还有上面的方案!)充满了缺陷和陷阱。
但从理论上讲,它确实可以让您仅使用几 1000 字节的 RSA key ;或几个 100 字节的基于椭圆曲线的 key 。
关于x509 - 从颁发的证书中删除 x.509 v3 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15238436/
我在 Nginx 中使用 Laravel Forge 部署了一个 Laravel 项目。 此应用程序有几个别名。 我正在尝试为每个别名颁发 ssl 证书,但出现以下错误: ERROR: Challen
我是一名优秀的程序员,十分优秀!