上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
PC/デジタル署名とタイムスタンプ/オレオレ電子証明書の作成
をテンプレートにして作成
資料室
PC/デジタル署名とタイムスタンプ/オレオレ電子証明書の作成 をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
* オレオレ電子証明書の作成
一般的には電子証明書(X.509)は以下の手順で作成する。~
- ''秘密鍵''を作成する。~
- 作成した秘密鍵に対する公開鍵を作成する。~
- ''第3者認証機関''に申請する署名要求証明書(CSR)を作成...
第3者認証機関で有効な電子証明書を発行してもらうため,署名...
中身は上記で作成した公開鍵と個人(会社)情報や連絡先等の...
- 作成した署名要求証明書(CSR)を第3者認証機関に提出する。~
署名要求証明書(CSR)を第3者認証機関に提出し,認証機関で...
認証機関では申請者を確認し,署名要求証明書(CSR)の中身を...
- 作成された''電子証明書(X.509)''を受け取り,コンピュー...
この電子証明書(X.509)を使ってデジタル署名をすることがで...
第3者認証機関にCSRを提出し公的な認証を受ける(電子証明書...
なので,テスト使用や個人的なやり取りや社内で使用するだけ...
もちろんこの勝手に作る電子証明書は,第3者認証機関での身分...
* opensslコマンドで自己電子証明書を作成する
OpenSSLはハッシュ・共通鍵暗号・公開鍵暗号・署名などに関す...
秘密鍵,公開鍵,サーバ電子証明書,クライアント電子証明書...
OpenSSLは[[ここから>https://slproweb.com/products/Win32Op...
[[MSYS2/MinGW-w64>/開発/toolchain/MinGW#xde2a8b1]]環境が...
$ pacman -S mingw-w64-x86_64-openssl mingw-w64-i686-open...
opensslの主なオプション。~
|オプション |説明 ...
|version |バージョンを表示。 ...
|rand |ランダムデータを作成する。 ...
|enc |エンコードする。 ...
|genrsa |RSA秘密鍵を作成。 ...
|rsa |RSA秘密鍵関連の処理をする。 ...
|req |証明書署名要求および証明書作成。 ...
|-new |新しく証明書署名要求を作成する。-keyにて指定...
|-x509 |証明書署名要求ではなく自己署名証明書を出力す...
|-in |入力ファイル名を指定する。 ...
|-out |出力ファイル名を指定する。 ...
|-pubin |公開鍵を入力。 ...
|-pubout |公開鍵を出力。 ...
|-sha512 |証明書のメッセージダイジェストを作成する時に...
|-aes256 |AES256で暗号化する。 ...
|-binary |バイナリで出力する。 ...
|-text |テキストで出力する。 ...
|-base64 |BASE64で出力する。 ...
|-hex |16進数で出力する。 ...
|-noout |末尾にPEM(-----BEGIN...)を出力しない。 ...
opensslで扱うファイルの拡張子。~
|拡張子 |説明 ...
|.pem |PEM形式。-----BEGIN ...のファイル。&br;中身...
|.key |鍵ファイルで,秘密鍵や公開鍵。&br;ファイルは...
|.pub |鍵ファイルで,公開鍵。&br;ファイルはpemと同...
|.csr |証明書署名要求(Certificate Signing Request...
|.crt, .cer |電子証明書(Certificate)&br;ファイルはpemと...
|.der |[[X.509>https://ja.wikipedia.org/wiki/X.509]...
|.ppk |PuTTYが扱う鍵ファイル形式。 ...
** 秘密鍵の生成
秘密鍵は公開鍵方式のRSAで鍵長を2048bitでパスフレーズ無し...
以下のようにopensslコマンドを使って作成出来る。~
> openssl genrsa 2048 > OreOrePrivate.key
** 自己電子証明書の生成
作成した秘密鍵で署名した自己電子証明書(X.509)を作成する...
> openssl req -new -x509 -days 3650 -key OreOrePrivate.k...
''-days''オプションで10年間有効な自己電子証明書にし...
''-sha512''オプションで署名アルゴリズムをsha512に指...
国,県,場所,会社名,部署名,名前,メールアドレスなどを...
作成した自己電子証明書OreOreCertificate.cerには,デジタル...
*** 自己電子証明書を確認
作成した自己電子証明書の中身を確認してみる。~
> openssl x509 -in OreOreCertificate.cer -text -noout
** pfxファイルを作成する
秘密鍵と自己電子証明書(署名と公開鍵)から,''pfxファイル...
pfxファイルは秘密鍵と対応するX.509形式の電子証明書(公開...
pfxファイルは以下のようにして作成できる。~
> openssl pkcs12 -export -inkey OreOrePrivate.key -in Or...
Windowsマシンの場合,作成されたpfxファイルを用いたり,証...
* Microsoftのコマンドを使用して自己電子証明書を作成する
Microsoftのコマンドを使用して自己電子証明書(X.509)を作...
- 自己電子証明書と秘密鍵を作成する。~
これは,makecertコマンドを使用する。~
- 自己電子証明書と秘密鍵を使って個人情報交換(PFX)ファイ...
これは,pvk2pfxコマンドを使用する。~
** 自己電子証明書と秘密鍵を作成する
makecertコマンドを使用して,独自の自己電子証明書と秘密鍵...
makecertコマンドの使い方は,以下の様になっている。作成す...
> makecert -r -sv <name-of-private-key-file>.pvk -n "CN=...
:-aオプション|署名に使用するダイジェストアルゴリズムを指...
md5, sha1(デフォルト), sha256, sha512が指定できる。~
古いバージョンのmakecertだと,sha256やsha512は使えない。~
:-rオプション|自己署名ルート証明書を作成したい場合指定す...
:-svオプション|作成する秘密鍵ファイル名(拡張子pvk)を指...
:-nオプション|証明書の名前を指定する。~
名前はX.509に準拠する必要がある。簡単にする場合"CN=MyName...
CN=コモン名,O=組織の名前,C=国~
例:-n "CN=MyName,O=MyAddress,C=JP"~
:-ssオプション|作成された電子証明書が登録されるする証明書...
:-peオプション|秘密鍵をエクスポート可能にする。~
電子証明書に秘密鍵組み込む時に指定する。証明書ストアに登...
:-equオプション|証明書の拡張キーを設定する。~
コード署名: "1.3.6.1.5.5.7.3.3"~
ライフタイム署名: "1.3.6.1.4.1.311.10.3.13"~
コード署名とライフタイム署名の両方: "1.3.6.1.5.5.7.3.3,1...
:-bオプション|証明書の有効期限の開始日を指定する。~
形式は,mm/dd/yyyyになっている。指定しない場合は,作成日...
:-eオプション|証明書の有効期限の終了日を指定する。~
形式は,mm/dd/yyyyになっている。指定しない場合は,デフォ...
以下のようにして自己電子証明書と秘密鍵を作成した。~
> makecert -r -sv OreOreCertificate.pvk -n "CN=OreOre CA...
コマンド実行すると秘密鍵を暗号化する時に使用するパスワー...
その後,確認のためパスワードを再度入力する。~
うまくいくと,自己電子証明書''OreOreCertificate.cer''と秘...
** pfxファイルを作成する
pvk2pfxコマンド使用して,自己電子証明書と秘密鍵を合成して...
変換する時に,秘密鍵OreOreCertificate.pvkと自己電子証明書...
コマンドの使い方は以下のようになっている。~
> pvk2pfx -pvk <name-of-private-key-file>.pvk -pi <passw...
:-pvkオプション|秘密鍵ファイル名(拡張子pvk)を指定する。~
:-piオプション |秘密鍵のパスワードを指定する。~
:-spcオプション|電子証明書ファイルを指定する。~
:-pfxオプション|出力するpfxファイル名を指定する。~
:-poオプション |pfxファイルのパスワードを指定する。~
以下のようにしてpfxファイルに変換した。~
> pvk2pfx -pvk OreOreCertificate.pvk -pi xxxxxxxxxxx -sp...
うまくいけば''OreOreCertificate.pfx''ファイルが作成されて...
Windowsマシンの場合,作成された.pfxファイルを直接利用した...
* Windowsの証明書ストアに電子証明書を登録する
上記のどちらかの方法で''pfxファイル''が作成できたら,その...
証明書ストアに登録する理由は,アプリケーション等にデジタ...
また,署名用証明書を証明書ストア登録しておくと,デジタル...
証明書ストアに電子証明書を登録するには,証明書マネージャ...
証明書マネージャ(CertMgr.msc)で登録する場合は以下のよう...
- Windows + Qキーを押し,''CertMgr.msc''と入力し見つかっ...
「個人」を右クリックし,すべてのタスク>インポートを選択す...
もしくは,''pfxファイル''をダブルクリックする。~
- 証明書の読み込みウィザードの指示に従って操作を実行する...
- 読み込むファイルを聞かれるので,登録したいpfxファイルを...
- パスワードを入力する。~
「すべての拡張プロパティを含める」がオンになっていること...
- 「証明書をすべて次のストアに配置する」オプションを選択...
- 「個人」を選択する。~
- 新しい秘密署名キーを読み込むためのダイアログが表示され...
同様にして,署名用証明書''cerファイル''を証明書ストアに登...
- Windows + Qキーを押し,''CertMgr.msc''と入力し見つかっ...
「信頼されたルート証明機関」を右クリックし,すべてのタス...
もしくは,''cerファイル''をダブルクリックする。~
- 証明書の読み込みウィザードの指示に従って操作を実行する...
- 読み込むファイルを聞かれるので,登録したいcerファイルを...
- 「信頼されたルート証明機関」を選択する。~
- OKをクリックする。~
これで作成した自己電子証明書を証明書ストアの「個人」へ,...
* 自己電子証明書で実行ファイルにデジタル署名する
実行ファイルに作成した自己電子証明書を使って,Windowsの実...
ここでは,Microsoftのsigntoolコマンドを使用してみる。~
コマンドの使い方は以下のようになっている。~
> signtool -fd sha256 -f <name-of-pfx-file>.pfx -p <pass...
:-fdオプション |ファイル署名に使用するアルゴリズムを指定...
:-fオプション |pfxファイルを指定する。~
:-pオプション |pfxファイルのパスワードを指定する。~
:-tオプション |タイムスタンプサーバーのURLを指定する。~
以下のようにしてさsample.exeにデジタル署名してみた。~
> signtool sign -fd sha256 -f OreOreCertificate.pfx -p x...
* 自己電子証明書でPDFファイルにデジタル署名する
証明書ストア(個人)に登録した自己電子証明書を使って,PDF...
Adobe Acrobat Reader(無料版)を使って,PDFファイルにデジ...
- 署名したいPDFファイルをAdcrobat Readerで開く。~
- すべてのツールから「証明書を使用」をクリックする。~
- デジタル署名をクリックし,署名をしたい場所をドラッグす...
- 署名に使う証明書の選択画面が表示されるので,作成した自...
- 署名のデザインを指定できるので好みのものを選択する。~
- 署名ボタンをクリックする。~
- 保存するPDFファイル名を指定すれば,署名したPDFファイル...
これでPDFファイルにデジタル署名を行うことが出来た。署名の...
他のアプリケーションでも同様にしてデジタル署名をすること...
%%Adobe Acrobat Reader(無料版)だとPDFファイルにデジタル...
* 電子証明書をエクスポートして署名した文書と一緒に配布する
自己電子証明書を使ってデジタル署名したPDF文書ファイルを相...
この自己署名証明書としては自己電子証明書を作成した時に作...
また証明書ストアに登録してある秘密鍵付の自己電子証明書か...
証明書ストアからエクスポートして自己署名証明書を作成する...
- ''certmgr.msc''を起動して,証明書ストアの「個人」の該当...
- 詳細タブのファイルにコピーをクリックする。~
証明書のエクスポートウィザードの開始が表示されるので,次...
- 秘密鍵はエクスポートしないので,「いいえ」にマークして...
- DER...にマークして,次へをクリックする。~
- 保存するファイル名を入力して,次へをクリックする。~
- 完了で検証用の自己署名証明書が作成される。~
作成したデジタル署名を検証するための自己署名証明書を,PDF...
これらを受け取った側では,自己署名証明書を証明書ストアの'...
当たり前ではあるが,自己電子証明書(オレオレ電子証明書)...
お金をかけないで信頼性が高い公的に通用するデジタル署名を...
終了行:
* オレオレ電子証明書の作成
一般的には電子証明書(X.509)は以下の手順で作成する。~
- ''秘密鍵''を作成する。~
- 作成した秘密鍵に対する公開鍵を作成する。~
- ''第3者認証機関''に申請する署名要求証明書(CSR)を作成...
第3者認証機関で有効な電子証明書を発行してもらうため,署名...
中身は上記で作成した公開鍵と個人(会社)情報や連絡先等の...
- 作成した署名要求証明書(CSR)を第3者認証機関に提出する。~
署名要求証明書(CSR)を第3者認証機関に提出し,認証機関で...
認証機関では申請者を確認し,署名要求証明書(CSR)の中身を...
- 作成された''電子証明書(X.509)''を受け取り,コンピュー...
この電子証明書(X.509)を使ってデジタル署名をすることがで...
第3者認証機関にCSRを提出し公的な認証を受ける(電子証明書...
なので,テスト使用や個人的なやり取りや社内で使用するだけ...
もちろんこの勝手に作る電子証明書は,第3者認証機関での身分...
* opensslコマンドで自己電子証明書を作成する
OpenSSLはハッシュ・共通鍵暗号・公開鍵暗号・署名などに関す...
秘密鍵,公開鍵,サーバ電子証明書,クライアント電子証明書...
OpenSSLは[[ここから>https://slproweb.com/products/Win32Op...
[[MSYS2/MinGW-w64>/開発/toolchain/MinGW#xde2a8b1]]環境が...
$ pacman -S mingw-w64-x86_64-openssl mingw-w64-i686-open...
opensslの主なオプション。~
|オプション |説明 ...
|version |バージョンを表示。 ...
|rand |ランダムデータを作成する。 ...
|enc |エンコードする。 ...
|genrsa |RSA秘密鍵を作成。 ...
|rsa |RSA秘密鍵関連の処理をする。 ...
|req |証明書署名要求および証明書作成。 ...
|-new |新しく証明書署名要求を作成する。-keyにて指定...
|-x509 |証明書署名要求ではなく自己署名証明書を出力す...
|-in |入力ファイル名を指定する。 ...
|-out |出力ファイル名を指定する。 ...
|-pubin |公開鍵を入力。 ...
|-pubout |公開鍵を出力。 ...
|-sha512 |証明書のメッセージダイジェストを作成する時に...
|-aes256 |AES256で暗号化する。 ...
|-binary |バイナリで出力する。 ...
|-text |テキストで出力する。 ...
|-base64 |BASE64で出力する。 ...
|-hex |16進数で出力する。 ...
|-noout |末尾にPEM(-----BEGIN...)を出力しない。 ...
opensslで扱うファイルの拡張子。~
|拡張子 |説明 ...
|.pem |PEM形式。-----BEGIN ...のファイル。&br;中身...
|.key |鍵ファイルで,秘密鍵や公開鍵。&br;ファイルは...
|.pub |鍵ファイルで,公開鍵。&br;ファイルはpemと同...
|.csr |証明書署名要求(Certificate Signing Request...
|.crt, .cer |電子証明書(Certificate)&br;ファイルはpemと...
|.der |[[X.509>https://ja.wikipedia.org/wiki/X.509]...
|.ppk |PuTTYが扱う鍵ファイル形式。 ...
** 秘密鍵の生成
秘密鍵は公開鍵方式のRSAで鍵長を2048bitでパスフレーズ無し...
以下のようにopensslコマンドを使って作成出来る。~
> openssl genrsa 2048 > OreOrePrivate.key
** 自己電子証明書の生成
作成した秘密鍵で署名した自己電子証明書(X.509)を作成する...
> openssl req -new -x509 -days 3650 -key OreOrePrivate.k...
''-days''オプションで10年間有効な自己電子証明書にし...
''-sha512''オプションで署名アルゴリズムをsha512に指...
国,県,場所,会社名,部署名,名前,メールアドレスなどを...
作成した自己電子証明書OreOreCertificate.cerには,デジタル...
*** 自己電子証明書を確認
作成した自己電子証明書の中身を確認してみる。~
> openssl x509 -in OreOreCertificate.cer -text -noout
** pfxファイルを作成する
秘密鍵と自己電子証明書(署名と公開鍵)から,''pfxファイル...
pfxファイルは秘密鍵と対応するX.509形式の電子証明書(公開...
pfxファイルは以下のようにして作成できる。~
> openssl pkcs12 -export -inkey OreOrePrivate.key -in Or...
Windowsマシンの場合,作成されたpfxファイルを用いたり,証...
* Microsoftのコマンドを使用して自己電子証明書を作成する
Microsoftのコマンドを使用して自己電子証明書(X.509)を作...
- 自己電子証明書と秘密鍵を作成する。~
これは,makecertコマンドを使用する。~
- 自己電子証明書と秘密鍵を使って個人情報交換(PFX)ファイ...
これは,pvk2pfxコマンドを使用する。~
** 自己電子証明書と秘密鍵を作成する
makecertコマンドを使用して,独自の自己電子証明書と秘密鍵...
makecertコマンドの使い方は,以下の様になっている。作成す...
> makecert -r -sv <name-of-private-key-file>.pvk -n "CN=...
:-aオプション|署名に使用するダイジェストアルゴリズムを指...
md5, sha1(デフォルト), sha256, sha512が指定できる。~
古いバージョンのmakecertだと,sha256やsha512は使えない。~
:-rオプション|自己署名ルート証明書を作成したい場合指定す...
:-svオプション|作成する秘密鍵ファイル名(拡張子pvk)を指...
:-nオプション|証明書の名前を指定する。~
名前はX.509に準拠する必要がある。簡単にする場合"CN=MyName...
CN=コモン名,O=組織の名前,C=国~
例:-n "CN=MyName,O=MyAddress,C=JP"~
:-ssオプション|作成された電子証明書が登録されるする証明書...
:-peオプション|秘密鍵をエクスポート可能にする。~
電子証明書に秘密鍵組み込む時に指定する。証明書ストアに登...
:-equオプション|証明書の拡張キーを設定する。~
コード署名: "1.3.6.1.5.5.7.3.3"~
ライフタイム署名: "1.3.6.1.4.1.311.10.3.13"~
コード署名とライフタイム署名の両方: "1.3.6.1.5.5.7.3.3,1...
:-bオプション|証明書の有効期限の開始日を指定する。~
形式は,mm/dd/yyyyになっている。指定しない場合は,作成日...
:-eオプション|証明書の有効期限の終了日を指定する。~
形式は,mm/dd/yyyyになっている。指定しない場合は,デフォ...
以下のようにして自己電子証明書と秘密鍵を作成した。~
> makecert -r -sv OreOreCertificate.pvk -n "CN=OreOre CA...
コマンド実行すると秘密鍵を暗号化する時に使用するパスワー...
その後,確認のためパスワードを再度入力する。~
うまくいくと,自己電子証明書''OreOreCertificate.cer''と秘...
** pfxファイルを作成する
pvk2pfxコマンド使用して,自己電子証明書と秘密鍵を合成して...
変換する時に,秘密鍵OreOreCertificate.pvkと自己電子証明書...
コマンドの使い方は以下のようになっている。~
> pvk2pfx -pvk <name-of-private-key-file>.pvk -pi <passw...
:-pvkオプション|秘密鍵ファイル名(拡張子pvk)を指定する。~
:-piオプション |秘密鍵のパスワードを指定する。~
:-spcオプション|電子証明書ファイルを指定する。~
:-pfxオプション|出力するpfxファイル名を指定する。~
:-poオプション |pfxファイルのパスワードを指定する。~
以下のようにしてpfxファイルに変換した。~
> pvk2pfx -pvk OreOreCertificate.pvk -pi xxxxxxxxxxx -sp...
うまくいけば''OreOreCertificate.pfx''ファイルが作成されて...
Windowsマシンの場合,作成された.pfxファイルを直接利用した...
* Windowsの証明書ストアに電子証明書を登録する
上記のどちらかの方法で''pfxファイル''が作成できたら,その...
証明書ストアに登録する理由は,アプリケーション等にデジタ...
また,署名用証明書を証明書ストア登録しておくと,デジタル...
証明書ストアに電子証明書を登録するには,証明書マネージャ...
証明書マネージャ(CertMgr.msc)で登録する場合は以下のよう...
- Windows + Qキーを押し,''CertMgr.msc''と入力し見つかっ...
「個人」を右クリックし,すべてのタスク>インポートを選択す...
もしくは,''pfxファイル''をダブルクリックする。~
- 証明書の読み込みウィザードの指示に従って操作を実行する...
- 読み込むファイルを聞かれるので,登録したいpfxファイルを...
- パスワードを入力する。~
「すべての拡張プロパティを含める」がオンになっていること...
- 「証明書をすべて次のストアに配置する」オプションを選択...
- 「個人」を選択する。~
- 新しい秘密署名キーを読み込むためのダイアログが表示され...
同様にして,署名用証明書''cerファイル''を証明書ストアに登...
- Windows + Qキーを押し,''CertMgr.msc''と入力し見つかっ...
「信頼されたルート証明機関」を右クリックし,すべてのタス...
もしくは,''cerファイル''をダブルクリックする。~
- 証明書の読み込みウィザードの指示に従って操作を実行する...
- 読み込むファイルを聞かれるので,登録したいcerファイルを...
- 「信頼されたルート証明機関」を選択する。~
- OKをクリックする。~
これで作成した自己電子証明書を証明書ストアの「個人」へ,...
* 自己電子証明書で実行ファイルにデジタル署名する
実行ファイルに作成した自己電子証明書を使って,Windowsの実...
ここでは,Microsoftのsigntoolコマンドを使用してみる。~
コマンドの使い方は以下のようになっている。~
> signtool -fd sha256 -f <name-of-pfx-file>.pfx -p <pass...
:-fdオプション |ファイル署名に使用するアルゴリズムを指定...
:-fオプション |pfxファイルを指定する。~
:-pオプション |pfxファイルのパスワードを指定する。~
:-tオプション |タイムスタンプサーバーのURLを指定する。~
以下のようにしてさsample.exeにデジタル署名してみた。~
> signtool sign -fd sha256 -f OreOreCertificate.pfx -p x...
* 自己電子証明書でPDFファイルにデジタル署名する
証明書ストア(個人)に登録した自己電子証明書を使って,PDF...
Adobe Acrobat Reader(無料版)を使って,PDFファイルにデジ...
- 署名したいPDFファイルをAdcrobat Readerで開く。~
- すべてのツールから「証明書を使用」をクリックする。~
- デジタル署名をクリックし,署名をしたい場所をドラッグす...
- 署名に使う証明書の選択画面が表示されるので,作成した自...
- 署名のデザインを指定できるので好みのものを選択する。~
- 署名ボタンをクリックする。~
- 保存するPDFファイル名を指定すれば,署名したPDFファイル...
これでPDFファイルにデジタル署名を行うことが出来た。署名の...
他のアプリケーションでも同様にしてデジタル署名をすること...
%%Adobe Acrobat Reader(無料版)だとPDFファイルにデジタル...
* 電子証明書をエクスポートして署名した文書と一緒に配布する
自己電子証明書を使ってデジタル署名したPDF文書ファイルを相...
この自己署名証明書としては自己電子証明書を作成した時に作...
また証明書ストアに登録してある秘密鍵付の自己電子証明書か...
証明書ストアからエクスポートして自己署名証明書を作成する...
- ''certmgr.msc''を起動して,証明書ストアの「個人」の該当...
- 詳細タブのファイルにコピーをクリックする。~
証明書のエクスポートウィザードの開始が表示されるので,次...
- 秘密鍵はエクスポートしないので,「いいえ」にマークして...
- DER...にマークして,次へをクリックする。~
- 保存するファイル名を入力して,次へをクリックする。~
- 完了で検証用の自己署名証明書が作成される。~
作成したデジタル署名を検証するための自己署名証明書を,PDF...
これらを受け取った側では,自己署名証明書を証明書ストアの'...
当たり前ではあるが,自己電子証明書(オレオレ電子証明書)...
お金をかけないで信頼性が高い公的に通用するデジタル署名を...
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ