3

ユーザー証明書から x509 v3 拡張機能を削除するには、軽量の PKC を作成する必要があります。この openssl コマンドを使用して v3 拡張機能を削除できますか?

openssl x509 -in /usr/local/openca/var/openca/crypto/certs/E841B2655206FA6A3ADA.pem -noout -text -certopt no_extensions -out /usr/local/openca/var/openca/crypto/certs/ -out E841B2655206FA6A3ADA_nov3ext.ペム

または、x509 拡張機能が含まれていないため、x509 v1 証明書を生成するためにどこを変更する必要がありますか。参考になるリンクを教えてください。

御時間ありがとうございます。

4

1 に答える 1

2

通常 (事実上、常に実際にそうです!) 署名は、証明書の識別名をカバーするだけではありません。他のすべて(シリアル、有効期限など)も同様です。

そのため、証明書のサイズを小さくすることは難しくありませんが、発行者による署名が即座に無効になります。

ただし、場合によっては、他のことを行うことができます。それは、証明書の署名部分を完全に分配/無視することです。公開鍵だけに注目してください。

のようなものを使用してください

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

次に、クライアントで署名されます

サーバーからの猫のメッセージ | openssl pkeyutl -inkey privkey.pem -sign | base64 > サーバーに送信

サーバー上でこれを確認します

cat msg-from-client | openssl pkeyutl -in pubkey-of-client.pem -verify

そしてそこに形をとります。しかし、あなたが優秀な暗号学者やプロトコル設計者でない限り、このような (そして上記のような) スキームには欠陥や落とし穴がたくさんあります。

しかし理論的には、数 1000 バイトの RSA キーしか使用できません。または数百バイトの楕円曲線ベースのキー。

于 2013-12-05T20:53:04.133 に答える