メモ Google App Engine で BouncyCastle を使えるようにする手順

暗号ライブラリ BouncyCastle を App Engine 上で利用するための手順メモ

  1. BouncyCastleで提供されている “Signing JAR Files” のままdeployすると “SHA1 digest error” が発生する ので、ソースをダウンロードしてjarファイルを自分で作る。
    1. BouncyCastle の crypto-147.tar.gz を ココからダウンロードする。
    2. Eclipse に BouncyCastle等の名前で javaプロジェクトを作る
    3. 作ったプロジェクトに crypto-147.tar.gz を展開してできたディレクトリの src をプロジェクトの src ディレクトリに上書きコピーする。
    4. export で bcall-147.jar ファイルを生成する。
  2. BouncyCastle を利用する App Engine プロジェクトを新規作成する。

    1. 適当な名前で Web Application プロジェクトを作成する。
    2. bcall-147.jar を war/WEB-INF/lib 以下にコピーする。
    3. bcall-147.jar を Javaのビルドパス に追加
    4. BouncyCastle を利用するサンプルServletを書く。
      略 ------
      public void doGet(HttpServletRequest req, HttpServletResponse resp)
      			throws IOException {
      Security.addProvider( new BouncyCastleProvider() );
      Provider provider = Security.getProvider ( "BC" );
      resp.setContentType("text/html");
      resp.getWriter().print( provider.getInfo() );
      }
      略 ------
      
    5. 下の様に表示されれば BouncyCastle が利用できる。
      BouncyCastle Security Provider v1.47

開発環境(localhost:8888)だと “Signing JAR Files” でも動くので、deploy して動かない原因がわからず ほぼ1日悩んでしまった・・・・。

参考サイト
BouncyCastleのインストール手順と確認[LangEdge Weblog]

AWSで試した記録
Re: [appengine-java] java.lang.SecurityException
”SHA1 digest error” ってエラーで見つけた記事


One Comment
  1. Pingback: Passbook and Google App Engine (signing the manifest) | WEBで何かつくるよ

コメントを残す

メールアドレスが公開されることはありません。