FileMakerServer19でのCSR生成とカスタム証明書の新規/更新インポート


はじめに

対象読者

  • Claris FileMaker Server 18 / 19 管理者
  • Windows Server 環境
  • カスタム証明書を更新しないといけなくなった人
    • なお、新規インポートの場合でも可

問題

Windows での FileMakerServer 18 / 19 バグ問題

  • fmsadmin certificate create コマンドを実行すると予期せぬエラーが発生する
    • 何じゃそりゃ、というエラー文面……
IP Address '127.0.0.1' is inaccessible or invalid.
Error: 10502 (Host unreachable)

FileMaker Server 18.0.2 では、CLI を使用して CSR を作成しようとしても CSR が作成されず、FileMaker Server が応答しなくなるという重大な問題が確認されています

回避策

別環境で生成する

  • 今回は Linux ( CentOS 7.7 ) 版を用いる
  • もしくは FileMaker Server 16 / 17 あたりで生成してもできるかもしれない
    • 未検証

本題

CSR 生成

Linux 環境の準備

生成コマンド実行

  • 引数について
    • C= 国名
    • ST= 都道府県
    • L= 市区町村
    • O= 組織名
    • CN= ドメイン名
      • ワイルドカードで指定するときは *.example.com のようにする
    • --keyfilepass パスワード
  • コマンドのサンプル
fmsadmin certificate create "/C=JP/ST=Tokyo/L=Toshima-ku/O=PTNA/CN=*.piano.or.jp" --keyfilepass password
  • コマンド実行後に訊かれる username と password については FileMaker Server の AdminConsole での認証情報。唐突に出てくるので、何のことやらと分かりづらい……

  • 参考までに、もし openssl コマンドで実行する場合は以下のような感じになる

openssl req -new -newkey rsa:2048 -nodes -out csrname.csr -keyout keyname.key -sha256 -subj "/C=JP/ST=Tokyo/L=Toshima-ku/O=PTNA/CN=*.piano.or.jp"

CSR = serverRequest.pem が生成された場所

  • 以下にある
/opt/FileMaker/FileMaker Server/CStore/

CSR を認証局へ渡し、証明書ファイルを受け取る

  • serverRequest.pem を認証局へお渡し
    • あるいはファイルの中身をコピペ
  • 先方で証明書ファイルが発行されるのでそちらを受け取る

カスタム証明書インポート

AdminConsole で SSL 証明書の設定画面へ

  • ログイン
  • メインメニューから「構成」を選択

  • サブメニューから「SSL 証明書」を選択

ファイルを削除

  • 一度、「ファイルを削除」を実行
    • 既に証明書がインポートされている場合、「カスタム証明書のインポート」へ進んでも途中で詰みます
    • 新規インポートの場合は省略可能

カスタム証明書のインポート

  • 署名済みの証明書ファイル
    • 認証局から送られてきた crt ファイル
    • domain_name.crt のような名前
  • プライベートキーファイル
    • CSR 生成時に出力された serverKey.pem
    • 右記の path にある /opt/FileMaker/FileMaker Server/CStore/
  • 中間証明書ファイル
    • 認証局から送られてきた crt ファイル
    • xxxxxCA.crt のような名前になっていることが多い
  • プライベートキーパスワード
    • CSR 生成時に入力した --keyfilepass password での password

  • 以下のわかったようなわからないような注釈については、気にしなくてよいです

証明書をインポートすると、証明機関 (CA) から受け取った署名済み証明書ファイルと証明書署名要求の作成時に作成したプライベートキーファイル (serverKey.pem) が結合されます。

  • インポート実行すると、完了

  • 最後に OS の再起動を求められるので、任意のタイミングで再起動してください

2021/10/08 追記

CSR 再発行について

  • 証明書は一年に一回、更新されなくてはなりません。その際、認証局に CSR を再発行・再送する必要があります
  • しかし、再発行しようと `` コマンドを打つと、先に証明書を消してくれと怒られてしまいます
  • とはいえ、本番環境の証明書をいきなり抹消することなんてできません。なので、必然的に、開発環境用の FileMaker Server が必要になってしまうということに🤔

証明書の削除

  • fmsadmin certificate delete というコマンドを打つと、以下のように訊かれます
fmsadmin: really delete certificate? (y, n) (Warning: server needs to be restarted)
  • 再起動必須と書かれているのですが、気にせず y を入力して進めます
    • user / pass は FileMaker Server AdminConsole へログインするためのものです
  • このあとで改めて fmsadmin certificate create コマンドで CSR 発行へ進むことができるようになります!

おわりに

感想