FileMaker Server 19 for Linux Preview に格安のSSLカスタム証明書をインポート

はじめに

Linux 初心者の猫がさくらのVPSで稼働に漕ぎ着けた FileMaker Server 19 for Linux に格安のSSLカスタム証明書(JPRS SSLサーバ証明書)を導入したので備忘録的に記します。さくらのVPSへのFileMaker Server 19 for Linuxインストールに関する記事は以下ご参照下さい。

ほぼ同じ構成でスムーズに導入された今泉さんのすばらしい記事があるのでそちらも参考にされることをオススメします。

CSRの作成

証明書の発行にはCSRが必要です。CSRとは企業の社会的責任(Corporate Social Responsibility)ではなく、証明書リクエスト(Certificate Signning Request)のことです。

FileMaker Server で CSR を作成するには、fmsadmin コマンドを利用します。CSRの作成に使うのは下記です。

fmsadmin certificate create

なお、fmsadmin certificate create には2種類の書き方があります。

短いほうはこちら。<fqdn>は申請するドメインです。

fmsadmin certificate create <fqdn> --keyfilepass <secret>

「hogehoge.com」ならば、下記のように記します。

fmsadmin certificate create hogehoge.com --keyfilepass <secret>

<secret> は好きなパスワードを入力します。

こちらは長い書き方。

fmsadmin certificate create "/C=<Country Code>/ST=<State>/L=<Locality Name>/O=<Organization Name>/CN=<Common Name>" --keyfilepass <secret>

各パラメータの指定は以下のようにします。
<Country Code>は英数字2文字の国別コードです。日本ならば「JP」です。<State>は都道府県です。岐阜県ならば「Gifu」。<Locality Name>は市区町村です。岐阜市ならば「Gifu City」。<Organization Name>は組織名です。ホゲホゲ株式会社ならば「Hogehoge Inc.」。<Common Name>はFQFN(ドメイン)です。hogehoge.comならば「hogehoge.com」です。<secret>は好きなパスワードを入力します。

いずれの場合も一度作成したら申請して証明書が発行されるまでは削除したり、新たに作成したりしないで下さい。また、<secret>は証明書のインポート時に必要になるので絶対に忘れないで下さい。詳細は後述。

JPRSがそうでしたが安価なSSL証明書発行サービスでは<fqdn>だけの短いタイプが申請時に通らないことがあるように思います。できれば長いタイプで作成しておきましょう。


CSRのダウンロード

作成したCSRをローカル環境にダウンロードします。

ダウンロードには scp コマンドを利用しました。

scp  "<ユーザ名>@<サーバアドレス>:/opt/FileMaker/FileMaker\ Server/CStore/*.pem" <ローカルフォルダ>

<ユーザ名>は Linux のユーザ名(FileMaker Server インストール時に使ったユーザ)。<サーバアドレス>はさくらのVPSのアドレス。<ローカルフォルダ>はダウンロードするローカルコンピュータのフォルダを指定します。
「*.pem」指定で関連するファイルをすべてダウンロードしています。
申請に使うのは「serverRequest.pem」です。エディタ等で開いて申請フォームのテキストに合わせてコピー&ペーストします。


SSL証明書の発行申請を行う

無料のSSL証明書もありますが、Linux初心者の筆者には自動更新などは到底無理ゲーだったので格安のSSL証明書を選択しました。今回はさくらから申請ができるJPRSを選択しました。年間で税込990円でした。

申請時に間違えると面倒なことになるので慎重に進めます。
下記リンク先を参考にされると良いでしょう。

※失敗しても再申請ができるため990円は無駄になりません。


認証ファイルを指定フォルダにアップロード

JPRSの認証はファイル認証で行われます。ファイル認証は証明書を申請した際の<FQDN>を所有していることを証明するため、HTTP / HTTPS でアクセスできる特定のフォルダに認証ファイルを配置します。配置したフォルダをクローラが巡回して認証ファイルが確認されると証明書が発行されます。

アップロードにも scp コマンドを利用しました。

アップロード先は色々と紛らわしいです。ググったりすると以下の情報が出てきます。

/var/www/html

FileMaker Server をインストールしている場合はここにアップロードしてもダメです。

HTTPの場合はこちらです。

/opt/FileMaker/FileMaker Server/HTTPServer/htdocs/

HTTPSの場合はこちらです。

/opt/FileMaker/FileMaker Server/HTTPServer/htdocs/httpsRoot/

JPRSの認証ファイルは<fqdn>直下の特定フォルダにアップロードします。証明書がない状態ではHTTPSでアクセスするとエラーが出るためクローラが巡回できません。

正解は越後、、、こちらです。

/opt/FileMaker/FileMaker Server/HTTPServer/htdocs/.well-known/pki-validation/<ランダムな文字列>.txt

<ランダムな文字列>は認証ファイルによって異なるのでリネームせずそのままアップロードします。ブラウザでアクセスすると見られるので確認は簡単です。

アップロードは下記コマンドで行いました。

scp <ローカルフォルダ>/<ランダムな文字列>.txt "<ユーザ名>@<サーバアドレス>:/opt/FileMaker/FileMaker\ Server/HTTPServer/htdocs/"

<ローカルフォルダ>は認証ファイルを置いてあるローカルコンピュータのパスです。<ユーザ名>は Linux のユーザ名<サーバアドレス>はさくらのVPSのアドレスです。

正しくアップロードできていればしばらく経つと証明書が発行されます。証明書をダウンロードしていよいよインポートを行います。


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

スクリーンショット 2020-07-06 19.35.11

JPRSから証明書が発行されたら FileMaker Server Admin Console からカスタム証明書のインポートを行います。

[構成]-[SSL証明書]を選び「カスタム証明書のインポート」をクリックします。

スクリーンショット 2020-07-06 19.35.30

・署名済の証明書ファイル:JPRSから発行された証明書ファイル
・プライベートキーファイル:「serverKey.pem」ファイル
・中間証明書ファイル:JPRSのサイトからダウンロード(下記参照)

・プライベートパスワード:CSR作成時の<secret>

すべて選択・入力したら「インポート」をクリックします。問題がなければインポート完了です。

スクリーンショット 2020-07-06 19.35.19

スクリーンショット 2020-07-06 21.30.51

この通りセキュア接続の表示に変わります(右上の緑鍵)


証明書が使えなかった場合......

筆者の場合はCSRの作成・申請後に<secret>を失念して fmsadmin certificate create を再度実行しました。当然ですが......発行された証明書が使えなくなってしまいました。
※fmsadmin certificate create はCSR作成済の場合は先に delete しなくてはいけないので余程のことが無いとこんな阿呆はしませんが......

JPRSでは証明書の再発行申請ができます。もし証明書が使えなくなってしまっても費用が無駄になることはありません。

ただし、再発行の場合は上述の手順のようなファイル認証ではなく、メール認証のみとなりますので<fqdn>(ドメイン)でメールを受信できることが必須です。

再申請の際に「serverRequest.pem」をメールで提出できますので、<fqdn>(ドメイン)のみのCSR(短いタイプ)でも申請可能です。

猫の場合はさくらのVPSの他にさくらのレンタルサーバーも持っていたので、メール受信のみレンタルサーバーに振り替えることでメール認証を行って証明書を再発行して貰いました。


以上です。お役に立てば幸いです。



この記事が気に入ったらサポートをしてみませんか?