Cognos Analytics で3rdパーティーのSSL証明書を登録する手順メモ

#概要
Cognos Analyticsで、httpsでのアクセスを可能にするためには、3rdパーティーのSSL証明書を入手し、Cognosに登録する必要があります。
基本的には、以下のTechnoteに沿って行いますが、意外とはまるポイントがありますので、手順を投稿しておきます。
**How to add a 3rd Party CA to allow for SSL between components in IBM Cognos Analytics 11**
http://www-01.ibm.com/support/docview.wss?uid=swg21992784

#手順
手順はrootユーザーでの実施となります。

**1).JAVA_HOME環境変数を設定**
export JAVA_HOME=/opt/ibm/cognos/analytics/jre

**2). Cognos Analyticsサービスを停止**
cd /opt/ibm/cognos/analytics/bin64
./cogconfig.sh -stop

**3).configurationフォルダのバックアップ**
この後、configurationフォルダ配下のファイルやフォルダを消す処理があるので、バックアップを取得しておきます。
cd /opt/ibm/cognos/analytics
tar -cvf /backup/cogconfiguration.tar ./configuration

**4).Cognos Configurationの設定を複合化してエクスポート**
cd /opt/ibm/cognos/analytics/bin64
./cogconfig.sh -e ../configuration/cogstartup.decypt.xml

※GUI環境であれば、Cognos Configurationを起動して、「ファイル」→「名前を付けてエクスポート」でも大丈夫です。

**5).色々フォルダ削除。既存の暗号キーストアなど全部削除します。**
cd /opt/ibm/cognos/analytics/temp/cam
rm -rf ./freshness
cd /opt/ibm/cognos/analytics/configuration
rm -rf ./caSerial
rm -rf ./csk
cd /opt/ibm/cognos/analytics/configuration/certs
rm ./CAMKeystore
rm ./CAMKeystore.jks
rm ./CAMKeystore.lock
rm ./CAMKeystore.status

**6).cogstartup.xml の置き換え**
cd /opt/ibm/cognos/analytics/configuration
mv cogstartup.xml cogstartup.backup.xml
cp -p cogstartup.decypt.xml cogstartup.xml

**7).CSR作成 ※署名リクエスト（Certificate Signing Request）**
SSL証明書を認証機関から取得するために、CSRファイルを生成して送る必要があります。
CSRファイルは、以下のコマンドで作成します。
cd /opt/ibm/cognos/analytics/bin
./ThirdPartyCertificateTool.sh -c -e -d "CN=aaaa, OU=bbbb, O=cccc, L=dddd, ST=eeee, C=ffff" -r encrypt.csr -p NoPassWordSet
※aaaa,bbbb,cccc,dddd,eeee,ffffは、環境に応じて変更します。何を指定するかは認証機関に確認します。

**重要** 
ここで、Cognosの起動や、Cognos Configurationの保存など、何らか環境に変化が生じる事を行ってはいけません。
そうは言っても、証明書発行まで数日かかるから、Cognosをずっと止めておくのは厳しいのだけど、という場合は、Cognos起動してしまって、SSL証明書が届いて、以降の操作(8)を行う前に、前述の操作(1)-(7)を再度実行して下さい。
この状態をしっかり整えてSSL証明インポートを行わないと、CAM-CRP-1254 で java.lang.NullPointerException のエラーとなります。
また、CSRの作成から証明書インポート実施まで、一ヵ月間の間に実施する必要があります。

**8).証明書配置**
証明書は以下が届きます。
暗号化証明書：encrypt.cer というファイル名とします。
CAルート証明書：ca.crt というファイル名とします。
上記のファイル及び、先のencrypt.csr ファイルを、以下のフォルダに配置します。
/opt/ibm/cognos/analytics/bin64
※ThirdPartyCertificateTool.shツールはbinフォルダに存在しますが、上記ファイルの配置はbin64で正しいです。

**9).暗号化証明書インポート**
cd /opt/ibm/cognos/analytics/bin
./ThirdPartyCertificateTool.sh -i -e -r encrypt.cer -p NoPassWordSet -t ca.crt

**10).CAルート証明書インポート**
cd /opt/ibm/cognos/analytics/bin
./ThirdPartyCertificateTool.sh -i -T -r ca.crt -p NoPassWordSet

**11).Cognos ConfigurationのSSL設定**
Cognos Configurationを起動し、以下の箇所を変更します。
cd /opt/ibm/cognos/analytics/bin64
./cogconfig.sh

「セキュリティ」→「暗号化」→「共通対称鍵ストアのパスワード」= NoPassWordSet
「セキュリティ」→「暗号化」→「Cognos」→「鍵ストアのパスワード」= NoPassWordSet
「セキュリティ」→「暗号化」→「Cognos」→「認証局設定」の「パスワード」= NoPassWordSet
「セキュリティ」→「暗号化」→「Cognos」→「認証局設定」の「サード・パーティーのCAを使用」= 有効

「環境」→「ゲートウェイ用ディスパッチャー URI」= https に変更
「環境」→「外部ディスパッチャー URI」= https に変更
「環境」→「内部ディスパッチャー URI」= https に変更
「環境」→「外部アプリケーション用ディスパッチャー URI」= https に変更
「環境」→「Content Manager URI」= https に変更

※GUIの無い環境の場合、先に作成したcogstartup.decypt.xmlの該当の箇所を書き換え、以下のコマンドでcogstartup.xmlに置き換えます。
cp -p cogstartup.decypt.xml cogstartup.xml

**12).Cognos Analyticsサービス起動**
cd /opt/ibm/cognos/analytics/bin64
./cogconfig.sh -s

これでSSL実装できました。
ブラウザから、https://hostname:9300/bi/ でアクセスしてみてください。

**おまけ**
鍵ストアに何が入っているのか見るにはikeymanが使えます。※GUI環境で実施
/opt/ibm/cognos/analytics/jre/bin/ikeyman

ファイルを開く際に、ファイル形式を PKCS12 に指定して、以下のファイルを開いてください。
/opt/ibm/cognos/analytics/configuration/certs/CAMKeystore

以上です。
割と苦労しましたので、お役に立ててもらえるとうれしいです。