JKS形式のキーストアからPKCS #8形式の秘密鍵とPEM形式のX.509証明書を取り出す
通常、APKファイルの署名にはJKS形式のキーストアを使う。一方、Androidプラットフォームのビルド時にAPKファイルへ署名するときは、PKCS #8形式の秘密鍵とPEM形式のX.509証明書が必要になる。次のようにすると、JKSキーストアから必要なファイルへ変換することができる。
$ keytool -importkeystore -srckeystore keystore -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcalias alias -destalias alias -noprompt
$ openssl pkcs12 -in keystore.p12 -out keystore.pem
$ openssl pkcs8 -topk8 -in keystore.pem -outform DER -out privatekey.pk8
$ openssl x509 -inform PEM -in keystore.pem -outform PEM -out cert.x509.pem
$ signapk cert.x509.pem privatekey.pk8 unsigned.apk signed.apk
Terminal IDEでgit-flowを使う
Terminal IDEにgit-flowをインストールしたときのメモ。
Terminal IDEのgitはhttps://のレポジトリをクローンできないので*1、ブラウザーなどでgit-flowとshFlagsをダウンロードして、作業ディレクトリに展開する*2。
$ unzip /sdcard/Download/gitflow-0.4.1.zip $ unzip /sdcard/Download/shFlags-1.0.3.zip
Androidのshは/system/bin/shなので、git-flowスクリプトを変更する。
$ nano gitflow-0.4.1/git-flow
diff --git a/git-flow b/git-flow index fa87e71..361158b 100755 --- a/git-flow +++ b/git-flow @@ -1,4 +1,4 @@ -#!/bin/sh +#!/system/bin/sh # # git-flow -- A collection of Git extensions to provide high-level # repository operations for Vincent Driessen's branching model.
gitflow-shFlagsのリンクを張り直す。
$ cd gitflow-0.4.1/ $ rm gitflow-shFlags $ ln -s ../shFlags-1.0.3/src/shflags gitflow-shFlags
Terminal IDEに入っているgetoptは引数無しの時1を返すので、次のようにgitflow-shFlagsを修正する。
$ nano gitflow-shFlags
diff --git a/src/shflags b/src/shflags index f69928e..9639cf6 100644 --- a/src/shflags +++ b/src/shflags @@ -119,6 +119,7 @@ __FLAGS_GETOPT_VERS_BSD=2 getopt >/dev/null 2>&1 case $? in 0) __FLAGS_GETOPT_VERS=${__FLAGS_GETOPT_VERS_STD} ;; # bsd getopt + 1) __FLAGS_GETOPT_VERS=${__FLAGS_GETOPT_VERS_ENH} ;; 2) # TODO(kward): look into '-T' option to test the internal getopt() version if [ "`getopt --version`" = '-- ' ]; then
$HOME/local以下にgit-flowをインストールする。
$ make prefix=$HOME/local install
正しくインストールされていることを確認する。
$ type git-flow git-flow is /data/data/com.spartacusrex.spartacuside/files/local/bin/git-flow $ git flow help usage: git flowAvailable subcommands are: init Initialize a new git repo with support for the branching model. feature Manage your feature branches. release Manage your release branches. hotfix Manage your hotfix branches. support Manage your support branches. version Shows version information. Try 'git flow help' for details.
ソフトバンクモバイルでプラス記号つきの国際電話発信が可能に
DialerやJPDialerのようなツールが不要になったのは嬉しいことである。
一週間ほど前に、ソフトバンクモバイルから『iPhoneにおける「+」キーの国際電話発信操作を対応開始』という発表があった。同社のウェブサイトによると、iPhoneのみでなく3Gケータイ全機種でプラス記号を使った国際電話発信が2010年3月1日から可能になったようである*1。筆者も実際に試してみて、変換操作なしにプラス記号で始まる国外への発信ができることを確認した。一方、日本国内への電話を「+81」で始まる形式で発信することはできなかった。
ドコモでの対応状況も調べてみた。いつからそうなっているのか不明だが、国内国外を問わず、変換操作なしにプラス記号で始まる電話番号へ発信することができた。