API代理通信を使用する Android3以下

API代理通信が必要な理由

  • API対応2ch専ブラアプリは https:// SSL経由でスレ取得します
  • この状態でDetourは https:// SSL暗号化で内容がわからないため通信の転送しかできません
  • API代理通信機能を使用することでAPI対応2ch専ブラアプリでもDetour機能を使用することができます

設定時の注意/制限

  • Android3以下では/system/etc/security/cacerts.bks書き換えが必要です
  • /system/etc/security/cacerts.bks置き換えroot化などが必要です
    参考 cacerts.bks更新
    https://www.jp.websecurity.symantec.com/welcome/pdf/wp_ssl_for_android.pdf
    参考 Android1.6でのcacerts.bks更新
    http://nicolive-wakusu.b72.in/is01/how_to_update_is01_androi1.6_cacerts.bks_.txt 
  • Android4以上6以下にあるセキュリティ制限はありません
    例 画面ロック解除になしが使えずパスワードなど必須になる→制限なし
  • 下記証明書インストール説明はWindows上のJDK JavaDepelopmentKit設定済みの環境で行います
  • JDK設定していない場合はインストールします
  • Linuxなどは適当に読み替えてください
  • 動作確認終わったらCA証明書/サーバ証明書を自分で作成し直してください

API代理通信を使用する

  • Android版にはAPI代理通信動作確認用CA証明書,サーバ証明書サンプルファイルを添付しています
    このファイルを使用した設定手順を説明します

CA証明書をインストールする

  • cacerts.bksの取得
  • 実機からファイラーを使用してcacerts.bksを取得します
    /system/etc/security/cacerts.bks
  • 必ずバックアップを取ります
    バックアップを取らないならこれ以降の作業を控えてください
  • CA証明書のインストール
  • cacerts.bksとCA証明書DetourCA.crtをD:\に置きます
  • コマンドプロンプトを起動し下記のように入力します
    >keytool -keystore D:\cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias DetourCA -file D:\DetourCA.crt
  • 正しく設定できれば下記のような結果が表示されます
    所有者: CN=Detour, OU=DetourSection, O=DetourCompany, L=DetourCity, ST=DetourState, C=JP
    発行者: CN=Detour, OU=DetourSection, O=DetourCompany, L=DetourCity, ST=DetourState, C=JP
    シリアル番号: xxxxxxxxxxxxxxxx
    有効期間の開始日: xxx xxx xx xx:xx:xx JST xxxx終了日: xxx xxx xx xx:xx:xx JST xxxx
    証明書のフィンガプリント:
             MD5:  XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
             SHA1: XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
             SHA256: XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
             署名アルゴリズム名: SHA256withRSA
             バージョン: X
    
    拡張:
    
    #1: ObjectId: x.x.xx.xx Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: XX XX XX XX XX XX XX XX   XX XX XX XX XX XX XX XX
    0010: XX XX XX XX
    ]
    ]
    
    #2: ObjectId: x.x.xx.xx Criticality=true
    BasicConstraints:[
      CA:true
      PathLen:xxxxxxxxxx
    ]
    
    #3: ObjectId: x.x.xx.xx Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: XX XX XX XX XX XX XX XX   XX XX XX XX XX XX XX XX
    0010: XX XX XX XX
    ]
    ]
  • 確認されるので半角/全角漢字キーを押してIME変換状態にしてから日本語ではいと入力しEnterキーを押します
    この証明書を信頼しますか。 [いいえ]:  はい←日本語で打つ
    証明書がキーストアに追加されました
  • 実機にファイラーを使用してcacerts.bksのバックアップをとります
    バックアップを取っていることを確認してください
  • 実機にファイラーを使用してcacerts.bksを上書きします
    しつこいですがバックアップを取っていることを確認してください
  • 実機の電源を一旦切って再度起動します

サーバ証明書を設定する

  • Detourに.5ch.net用サーバ証明書を設定する
  • 添付下記ファイルをその他-Detourの情報を表示する-保存パスのフォルダに置きます
    a004.jpg
    • API対応2ch専ブラアプリが api.5ch.net:443 を使用している場合
      DetourSV.5ch.net.crt
      DetourSV.5ch.net.key
    • API対応2ch専ブラアプリが api.2ch.net:443 を使用している場合
      DetourSV.2ch.net.crt
      DetourSV.2ch.net.key
  • Detour起動-通信-Proxy関連の設定をする-その他設定をするをタップします
  • OpenSSLにチェックします
    a021.jpg
  • SSL代理通信を許可するにチェックします
  • API代理通信を許可するにチェックします
    a022.jpg
  • 1回だけ戻ります
  • 個別Proxyリストを設定するをタップし.5ch.net設定が先頭にある事を確認します
  • 3回戻りメイン画面に戻ります
  • 動作を確認します
  • 2chAPI対応専ブラで適当なスレを取得してみます
  • 上のステータスバーでDetourをタップしログに「API代理通信 APItoDAT変換取得」と表示があれば成功です
    a023.jpg

API代理通信使用をやめる

  • DetourでAPI代理通信使用をやめる設定をします
  • Detour-通信-Proxy関連の設定をする-その他設定をするをタップします
  • SSL代理通信を許可するチェックはずして1回戻ります
  • 個別Proxyリストを設定するタップします
  • 先頭api.5ch.netタップします
  • 削除するをタップします
  • 3回戻りメイン画面に戻ります
  • AndroidからCA証明書を削除します
  • 実機にファイラーを使用してバックアップしている元のcacerts.bksを上書きします
    /system/etc/security/cacerts.bks
  • 実機の電源を一旦切って再度起動します

自分用にCA証明書/サーバ証明書を作りなおす方法

  • 下記説明はWindows,C:\OpenSSL-Win32にOpenSSLインストールしていると仮定します
  • Linuxなどは適当に読み替えてください
  • 設定ファイル事前編集をします
    テキストファイルを開く
    C:\OpenSSL-Win32\\bin\openssl.cnf
    [ usr_cert ]行を探す
    basicConstraints=行を書き換える
    	basicConstraints = CA:TRUE
    # nsCertType = client, email, objsign行を探す
    その下の行に下記行を新規追加する
    	nsCertType = sslCA, emailCA
    # keyUsage = nonRepudiation, digitalSignature, keyEncipherment行を探す
    その下の行に下記行を新規追加する
    	keyUsage = cRLSign, keyCertSign
    保存して終了する
  • CA証明書を作成します
    コマンドプロンプトを開く
    >cd /d C:\OpenSSL-Win32\bin\
    ※-subjの各「DetourXXXX」を適当に変えてください
    添付したDetourCA.crtは下記で作りました
    >openssl req -new -x509 -newkey rsa:2048 -out D:\DetourCA.crt
    -keyout D:\DetourCA.key -days 3650 
    -subj "/C=JP/ST=DetourState/L=DetourCity/O=DetourCompany/OU=DetourSection/CN=Detour"
    適当に変えた場合
    >openssl req -new -x509 -newkey rsa:2048 -out D:\DetourCA.crt
    -keyout D:\DetourCA.key -days 3650
    -subj "/C=JP/ST=abcd/L=efg/O=hijk/OU=lmn/CN=opqr"
    末尾/CN以外の適当に変えた「/C=JP/ST=abcd/L=efg/O=hijk/OU=lmn」は
    下サーバ証明書作成でそのまま使用するのでメモしておきます
  • サーバ証明書を作成します
  • リネームします
    C:\OpenSSL-Win32\bin\PEM\demoCAをdemoCA.orgとか
  • フォルダ作成します
    C:\OpenSSL-Win32\bin\PEM\demoCA ※改めて作成
    C:\OpenSSL-Win32\bin\PEM\demoCA\private
    C:\OpenSSL-Win32\bin\PEM\demoCA\crl
    C:\OpenSSL-Win32\bin\PEM\demoCA\certs
    C:\OpenSSL-Win32\bin\PEM\demoCA\newcerts
  • テキストファイルを作成します
    C:\OpenSSL-Win32\bin\PEM\demoCA\serial
    内容 「01」と半角2文字と改行
    C:\OpenSSL-Win32\bin\PEM\demoCA\index.txt
    内容はなし,0バイト
    C:\OpenSSL-Win32\bin\PEM\demoCA\index.txt.attr
    内容 「unique_subject = yes」と半角20文字と改行
  • コマンドプロンプトを開きます
    >cd /d C:\OpenSSL-Win32\bin\PEM
    上で設定した/CN以外の適当に変えた「/C=JP/ST=abcd/L=efg/O=hijk/OU=lmn」内容に置き換えてください
    /CNだけは/CN=*.5ch.netにします
    添付したDetourSV.5ch.net.crtは下記で作りました
    >..\openssl req -new -key D:\DetourSV.5ch.net.key
    -subj "/C=JP/ST=DetourState/L=DetourCity/O=DetourCompany/OU=DetourSection/CN=*.5ch.net"
    > D:\DetourSV.5ch.net.csr
    適当に変えた場合
    >..\openssl req -new -key D:\DetourSV.5ch.net.key
    -subj "/C=JP/ST=abcd/L=efg/O=hijk/OU=lmn/CN=*.5ch.net"
    > D:\DetourSV.5ch.net.csr
  • 署名して完成させます
    >..\openssl ca -days 3650 -cert D:\DetourCA.crt
    -keyfile D:\DetourCA.key
    -in D:\DetourSV.5ch.net.csr
    > D:\DetourSV.5ch.net.crt
  • できたDetourCA.crt,DetourSV.5ch.net.crt,DetourSV.5ch.net.keyファイルを 上記手順でインストールしてみます

添付ファイル: filea023.jpg 40 download [詳細] filea022.jpg 86 download [詳細] filea021.jpg 84 download [詳細] filea004.jpg 67 download [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019.12.14