gpt4 book ai didi

x509 - 从颁发的证书中删除 x.509 v3 扩展

转载 作者:行者123 更新时间:2023-12-01 06:40:27 25 4
gpt4 key购买 nike

我需要制作轻量级 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com