どのようにOpenSSL/Mozilla NSS RSA Sign and Verify(PK11_Sign、PK11_Verify、PK11_VerifyRecoverFunctions)が機能しますか?

StackOverflow https://stackoverflow.com/questions/4756018

質問

RSAパブリックキーとプライベートキー(すべてのP、Q、E、N、D)をPEM形式で持っています。知りたいです:

  • どのように PK11_Sign(), PK11_Verify()PK11_VerifyRecover() (OpenSSL/Mozilla NSSライブラリから)RSAで作業しますか?
  • 署名する入力メッセージにパディングがどのように適用されますか?

私の質問のコンテキストは、署名中に入力データにパディングを追加するPK11_SIGN()を見たことがあります。たとえば(キーサイズが162ビットである場合):

my input = 31323334353036373839
padded input = 1FFFFFFFFFFFFFFFF0031323334353036373839

私が知りたいのですが:

  • このパディングスキームの名前と、それがどのように機能するかについてのポインターは何ですか?
  • 上記のOpenSSL関数のデフォルトのパディングスキームは何ですか?たとえば、私が実行した場合」 openssl rsautl -in input.txt -inkey mykey.pem -out signed.txt 「、どのパディングスキームが使用されますか?
役に立ちましたか?

解決

  • PK11_Sign など。PKCS#1 v.1.5署名を使用します。これには、言及したパディングが含まれます。

  • パディングスキームは、EMSA-PKCS1-V1_5-ENCODEと呼ばれるアルゴリズムの一部です。名前があるとは思わないが、非公式に「PKCS#1 v.1.5署名パディング」と呼ばれるかもしれない。で定義されています PKCS#1標準.

  • によると ドキュメント デフォルト openssl rsautl PKCS#1 v.1.5の署名を使用することです。これは、このパディングを意味します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top