Conversation
Notices
-
sumiyaki (sumiyaki@plr.ph3j.com)'s status on Wednesday, 02-Dec-2020 02:20:52 JST
sumiyaki
HTTP Signatureのための基礎実験として、opensslを使い、暗号化/復号の実験と、鍵を逆にしたらどうなるかを試した。秘密鍵と公開鍵の生成openssl genrsa > private.keyopenssl rsa -pubout < private.key >pub.key暗号化と復号openssl rsautl -encrypt -pubin -inkey pub.key -in test.dat > crpt.msgopenssl rsautl -decrypt -inkey private.key -in crpt.msg > original-qうまく行った。#ActivityPubで作りたい#openSSL #RSA -
sumiyaki (sumiyaki@plr.ph3j.com)'s status on Wednesday, 02-Dec-2020 02:24:35 JST
sumiyaki
逆にpivate.keyで暗号化してみる。openssl rsautl -encrypt -inkey private.key -in test.dat > crpt2.msgopenssl rsautl -decrypt -inkey pub.key -in crpt2.msg > original-2nd-qunable to load Private Key139766630205184:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: ANY PRIVATE KEY公開鍵で復号ができない。openssl rsautl -decrypt -inkey private.key -in crpt2.msg > original-2nd-q秘密鍵で暗号化したものは秘密鍵で復号できた。#ActivityPubで作りたい#openSSL #RSA -
sumiyaki (sumiyaki@plr.ph3j.com)'s status on Wednesday, 02-Dec-2020 02:38:03 JST
sumiyaki
ということで、暗号化ではなく、署名する場合は、private.keyを相手に渡し、public.keyを手元に保存しておくことになる、ということなのだろうか?手元のpublic.keyでドキュメントのhash値を暗号化し、相手はもらったprivate.keyで複合して、ドキュメントのhash値と比較し、確認する、ということになるはず。参考https://www.infraexpert.com/study/security5.html#ActivityPubで作りたい #Electronic_signature#openSSL #RSA #電子署名 #signature -
sumiyaki (sumiyaki@plr.ph3j.com)'s status on Wednesday, 02-Dec-2020 22:27:11 JST
sumiyaki
★ 電子署名についてのこの話★ https://plr.ph3j.com/notice/A1lRow2wWlahqsnecK★ は全く間違っていましたね。Private keyからpublic keyは誰でも生成できる。だから、private keyを相手に公開配布したら、何も自分は秘匿していないことになってしまう。公開鍵を配布するのはおかしいのではないか、思いましたが、そうではなく、公開鍵を配布でよい。そこがぐらつくと、コードを書くのが苦しくなってしまう。根本が間違っているのではないかと。参考になったのは、「電子署名=『秘密鍵で暗号化』」という良くある誤解の話https://qiita.com/angel_p_57/items/d7ffb9ec13b4dde3357dここに出てくる『秘密鍵でメッセージを復号』という説明はなんとなく納得できた。#ActivityPubで作りたい #Electronic_signature#openSSL #RSA #電子署名 #signatureが
-