2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

openssl pkeyutlでメッセージダイジェストからの電子署名

2
Posted at

OpenSSLは便利ですが
どうも使い方が分かりにくいと思うことがあります。

前提

とりあえずこんな感じで秘密鍵と公開鍵を作ったとしましょう。

openssl genrsa 2048 > private.pem
openssl rsa -pubout < private.pem > public.pem

たぶん普通のやり方(でもちょっと変?)

sample.txtを署名して検証するならこんな感じでしょう。

openssl dgst -sha256 -sign private.pem sample.txt > sample.sig
openssl dgst -sha256 -verify public.pem -signature sample.sig sample.txt

でもdgstで署名までするの?!という気もします。

ダイジェストを作ってからpkeyutlで署名

ダイジェストを作るだけならこんな感じで

openssl dgst -sha256 -binary sample.txt > sample.dgst

それを使って署名するならこうです。

openssl pkeyutl -sign -inkey private.pem -pkeyopt digest:sha256 < sample.dgst > sample.sig

余談(rsautlで署名)

rsautlにも-signがありますがハッシュアルゴリズムを渡す方法が見つかりません。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?