2015年8月11日火曜日

ARMクロスコンパイル用clang

■ソース取得
・binutils
http://ftp.gnu.org/gnu/binutils/
上記から最新バージョンのtarアーカイブ取得

・LLVM他
gitで取得

git clone http://llvm.org/git/llvm
cd tools
git clone http://llvm.org/git/clang
git clone http://llvm.org/git/lldb

■ビルド
・binutils
cd binutils
mkdir build
../configure --target=arm-eabihf --enable-threads --enable-shared
make; make install

(注意)
../configure --target=arm-eabihf --enable-targets=arm とするとエラー発生
複数ARM用のビルド設定は出来ない様子

・clang, llvm, lldb
cd llvm
mkdir build
cd build

../configure --target=arm-eabihf --enable-threads --enable-shared --enable-optimized --disable-assertions --with-abi=aapcs-vfp --with-cpu=cortex-a9 --with-float=hard --with-fpu=neon
make; make install

2015年8月5日水曜日

ドメイン名の取得とサーバー証明書

■経緯
 VPSのサーバー証明書を取るのに必要になった
 →さくらVPSのデフォルトドメインでKingSSLのサーバー証明書を取ろうとしたらフィッシング審査ではじかれたため
 →sakura.ne.jpがかつてフィッシングサーバとして使われたからか?

■取得先
 お名前どっとこむ
  割と安いしメジャーな様子
 →安いと思いきや罠あり。Whois代行がドメイン登録時は無料だが更新後から1000円/年かかる
  これはドメイン更新費用より高く割に合わない

 ムームードメイン
  こちらもメジャーなうえ、Whois代行が無料。
  登録時の費用はお名前ドットコムより高いが更新も考えるとこちらの方が安い

(補足)
 お名前ドットコムもムームードメインもどちらもGMOのグループ会社
 サービス内容については大差無い

■取得契約内容
・TLD(Top Level Domain): 値段と目的で .workにする
・Whois代行: ON
  Whois代行とはドメイン取得所在地、所有者情報を個人名から登録代行業者に変更すること

■契約後の設定
・さくらVPSドメイン設定から取得したドメイン名を登録
 その際にさくらのDNSサーバアドレスが表示されるので控えておく
 今回はns1.dns.ne.jp, ns2.dns.ne.jp だった

・ムームードメインの設定から外部DNSを使用を選択
 さくらのDNSサーバアドレス2つを登録する

■SSLサーバ証明書
・秘密鍵生成
  openssl genrsa -des3 -out [秘密鍵ファイル名] 4096
  鍵にパスフレーズをつけないのであれば-des3オプションは不要

・CSR生成
  openssl req -new -key [秘密鍵ファイル名] -out [出力CSRファイル名.csr]

・証明書要求
 今回はKingSSLにした。安いので
 申し込みページのCSR欄に生成したCSRをエディタで表示した内容をコピーペーストする

 簡易ドメイン審査が行われた後にドメイン宛にメールが送られる。
 送り先アドレスはpostmaster@やwebmaster@が選択できる
 サーバー側でpostfixを動作させてメールを受け取れるようにしておくこと
 念のため/etc/aliases でローカルアカウントと外部メールの両方に転送しておくといいかもしれない
 /etc/aliasesの転送先はカンマ区切りで複数指定できる

・申し込み後に承認確認メールが来るので承認URLをブラウザで開いて確定する
 確定後に証明書情報が送られてくる。

■クライアント証明書
・秘密鍵生成
 openssl genrsa -out [キーファイル名] 4096

・CSR生成
  openssl req -new -key [キーファイル名] -out [CSRファイル名]

・署名
  openssl ca -in [CSRファイル名] -config /etc/ssl/openssl.cnf -out [クライアント証明書ファイル名]

■はまった点
 メールを外部転送しなかったので添付ファイルを開くのに苦労した。
 コマンドラインからメールを開くにはbase64 contentの部分だけ抜き出してファイル保存をする
 そして以下のコマンドで復号する
  openssl base64 -d -in <infile> -out <outfile>