One IT Thing

IT業界を楽しむ為の学習系雑記

security

開発用のRSA鍵ペア(バイナリ、テキスト)をopensslで作っておく

投稿日:2019年6月26日 更新日:

環境

CentOS7.6に付属のopenssl 1.0.2k。

$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

$ openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

秘密鍵

テキスト(pem)

$ openssl genrsa -out private_key.pem 2048
Generating RSA private key, 2048 bit long modulus
.......+++
.............................................+++
e is 65537 (0x10001)

バイナリ(der)

$ openssl pkcs8 -in private_key.pem -topk8 -nocrypt -outform DER -out private_key.der

公開鍵

テキスト(pem)

$ openssl rsa -in private_key.pem -pubout -outform pem -out public_key.pem
writing RSA key

バイナリ(der)

$ openssl rsa -in private_key.pem -pubout -outform DER -out public_key.der
writing RSA key

まとめ

JavascriptはPEMで読み取る契機が多い、JavaはDERで読み込む契機が多い、とか言語によって読み込みやすいフォーマットが違うので予めテキスト、バイナリ両方のフォーマットで作っておくと検証プログラムを書く際に「あれ、opensslのオプション何だっけ」と思い出す面倒が無くなります。

-security
-,

執筆者:

関連記事

主要ブラウザに保存させたパスワードの確認方法を比較してみる(Firefoxをメインブラウザにしない理由)

アクセスしたサイトのパスワードをブラウザに覚えてもらったけどなんて入れたっけ? なんてこと結構あるんじゃないかと思います。 各種ブラウザとも覚えさせたパスワードは後から確認が出来るのでそれぞれの方法を …

ブラウザでRSA暗号化したデータをサーバで復号する(Angular + JSEncrypt、Spring MVC)【前編】

セキュリティ的にクリティカルなデータをクライアントブラウザで暗号化保存するようにしてみます。 通信経路はHTTPSで暗号化されていてもスマホに重要なデータが平文で残っていたら珠に傷です。 目次1 環境 …

ブラウザでRSA暗号化したデータをサーバで復号する(Angular + JSEncrypt、Spring MVC)【後編】

前回の続きです。 One IT ThingブラウザでRSA暗号化したデータをサーバで復号する(Angular + JSEncrypt、Spring …https://one-it-thi …

HTTPS開発環境用、自己署名証明書の作成

すっかりHTTPS必須の時代になり、それに併せてPWA関連、Payment Request API等、HTTPS環境下でないと機能しないAPIが出てきました。 開発を簡便にする為にlocalhostへ …

pgcryptoで公開鍵暗号の動作確認

共通鍵暗号で暗号化されたデータはパスワードが漏洩すると復号される危険が高まるのに対し、公開鍵暗号で暗号化されたデータは秘密鍵とパスワードの二つが漏洩しないと復号できません。 APサーバとDBサーバ通信 …


shingo nakanishi。東京で消耗中の職歴20年越え中年ITエンジニアです。「生涯現役プログラマを楽しむ」ことができる働き方探しをライフワークにしています。

19歳(1996年)から書き始めた個人日記が5,000日を超え、残りの人生は発信をして行きたいと思い、令和元日からこのサイトを開始しました。勉強と試行錯誤をしながら、自分が経験したIT関連情報を投稿しています。