OpenSSLでオレオレ認証局(CA)とオレオレ証明書を作る
- 2016-05-29
- カテゴリ: Client Side
- タグ: Tips OpenSSL Linux 車輪の再発明
OpenSSLを使って久しぶりにオレオレ認証局(CA)を立ち上げようと思ったら方法を完全に忘れていて苦労したので、整理してメモ。方法を検索すると、CA.plを使ったり使わなかったり、CA.shを使ってみたり、openssl.cnfを編集したりしなかったりと、いろいろ流儀があるようなので、その辺も含めて整理する。なお、環境はMac、OpenSSLは0.9.8系。
公開鍵証明書発行の手順
まずはおさらい。公開鍵証明書を発行する手順は次のようになる。
- 証明書のユーザーは、秘密鍵を生成する。コマンドで言えば、
openssl genrsa -aes128 -out newkey.pem 2048
など。 - 証明書のユーザーは、生成した秘密鍵を使って証明書署名要求(CSR; certificate signing request)を生成する。コマンドで言えば、
openssl req -new -key newkey.pem -out newreq.pem
など。 - 証明書のユーザーは、生成した証明書署名要求を認証局(CA; Certificate Authority)へ送信する。
- 認証局は、受信した証明書署名要求に自らの秘密鍵で署名し、公開鍵証明書を生成する。コマンドで言えば、
openssl x509 -req -CA ca.pem -in newreq.pem -out newcert.pem
やopenssl ca ...
など(詳細は後述)。 - 認証局は、生成した公開鍵証明書を証明書のユーザーに送信する。
「なぜこんなに面倒なのか。CAが秘密鍵と公開鍵証明書のペアを生成してユーザーに送ればいいじゃないか。」と言いたくなるが、これは鍵配送問題に対処するため。秘密鍵を送るためには暗号化通信が必要で、そのためには秘密鍵が必要で、その秘密鍵を送るためには(以下略)となってしまうため、秘密情報であるユーザー・認証局それぞれの秘密鍵はそれぞれのマシンの外に出ない仕組みになっている。ユーザーと認証局の間の通信経路がたとえ傍受されていても秘密鍵は流出しない。
もちろん、認証局を使わずに自己署名のオレオレ証明書を生成するだけだったら、openssl req -new -x509 -keyout newkey.pem -out newcert.pem
などのコマンドで簡単にできる。今回はオレオレ認証局を立てたうえで、その認証局で署名したオレオレ証明書を濫発することが目的なので、面倒だけど認証局を立ち上げる。
コマンドの結果を画面とパイプの両方に渡す方法
- 2015-02-16
- カテゴリ: Client Side
- タグ: Tips Linux Zsh
コマンドの結果を画面とパイプの両方に流す方法をいくつか調べたのでメモ。
やりたいのは、以下のような処理でpbcopy
に渡った標準出力を、画面からも確認すること。
find . -type f | pbcopy
なお、pbcopy
は標準入力をクリップボードに送るOS Xのコマンド。
zshでGitのブランチ名をプロンプトに表示する
zshのプロンプトに、Gitのブランチ名を表示させたくなった。
ちょうど、↓の図のような感じに。
bashではgit-completion.bashで定義される__git_ps1
を使って、例えば↓のような感じで書いていたけど、
# Show git branch name if [ -n "$(type -t __git_ps1)" ]; then PS1='\u@\h \w$(__git_ps1)\n\$ ' fi
zshではvcs_infoという関数を使って実現するらしい。
vcs_infoはGitに限らず、各種のVCS (Version Control System)に対応しているようなので、一度設定しておけばCVSやSubversion、Mercurialなんかにも対応できるようだ。
詳細は続きで。
[メモ] Xubuntuでおひとり様サーバーを立てるまで 2
- 2010-06-27
- カテゴリ: Client Side
- タグ: Linux Xubuntu
前回の記事に引き続いてXubuntuサーバーの初期設定をメモ。今回はXmingを使ったリモートからのGUI操作関係の設定と、VALUE DOMAINのDDNSを使ったサーバー公開の設定について。
[メモ] Xubuntuでおひとり様サーバーを立てるまで 1
- 2010-06-15
- カテゴリ: Client Side
- タグ: Linux Xubuntu
余ってた古いPCにXubuntu 10.04を導入して自分専用サーバーを立てたので、初期設定等を忘れないうちにメモ。
主要な用途はSambaとSFTPを使ったファイルサーバー。Webサーバーは立ててない。
Ubuntu Server Editionを使わずにXubuntuを選んだのは、XmingでアクセスしてGnuCashとFontForgeを使うため。
ついでに、VALUE DOMAINがDynamic DNSに対応していたので、これを使って外部から接続できるように設定してみた。
Xubuntuインストール時にやったことまとめ
- 2009-03-24
- カテゴリ: Client Side
- タグ: Linux Ubuntu
前回のエントリーに続いてXubuntuの話。
手元のノートパソコンにXubuntu 8.10をインストールした後にやったことをメモしておく。
[メモ] Xubuntu + Compiz
- 2009-03-20
- カテゴリ: Client Side
- タグ: Tips Linux Ubuntu
前回の更新からだいぶ時間が空いてしまった。FC2ブログでは一定期間記事を投稿していないと広告が入ってしまうようなので、メモ代わりのエントリーをポスト。
前回のエントリーでは、自分のPCにUbuntuを導入した話などをしたけど、結局、ごちゃごちゃとしているGNOMEが嫌になって、Xubuntuに乗り換えた。
Xubuntuはとても軽快なので満足しているんだけど、エフェクトとかがまったくなくてさびしいので、Compizを導入してみた。
「XubuntuにCompizなんて入れたら、せっかくの軽快さが台無しじゃんw」というツッコミはとりあえずスルー。
[Ubuntu][ntfsresize] Ubuntuをインストールした時にやったことまとめ
- 2009-02-08
- カテゴリ: Client Side
- タグ: Linux Ubuntu
手元のノートPCにUbuntu 8.10をインストールして、Windows XPとのデュアルブート構成にしてみた。
意外と苦労したので、忘れないうちにメモ (既に忘れつつあるが…)。
[FontForge] IPAゴシックとDejaVu Sans Monoを合成するスクリプトを修正
前回のエントリーで、FontForgeのスクリプトを使ってDejaVu Sans MonoとIPAゴシックを合成したりしてみた。そのとき使ったスクリプトを手直しして、少しきれいに出力できるようになったぽいので、新しいスクリプトをメモしておく。
変更点
- 横幅の縮小率を75%から80%に変更
- カーニング情報が崩れていたのを修正
- ハイフン("-")が短すぎて見づらい問題を修正
ソースは続きで。
DejaVuフォントで日本語を使いたい!
プログラミングに使える良いフォントを探していたら、DejaVuフォントというものを見つけた。確かにすごくきれいだし見やすい。
で、VimでDejaVu Sans Monoを使おうと思ったんだけど、Vimでは欧文フォントと和文フォントを別々に指定することができないから、DejaVu Sans Monoを指定してしまうと日本語が表示できなくなってしまう。だから、いろいろと試行錯誤してみた。まだ途中だけどとりあえずメモ。