4D 21 R3 のリリースにより、既存のWindows 証明書ストアサポートに加え、macOSキーチェーンの機能をHTTPS リクエストおよびエージェントに提供します。
この新機能の真の革新的な点は何か?それは、4D が技術的な複雑さを完全にカバーすることです。OS 固有のロジックを必要とする他の開発言語とは異なり、4D では両プラットフォームで全く同じコードを使用可能です。この独自の抽象化により大幅な時間節約が実現し、開発・保守コストを大幅に削減します。
単純なセキュア接続から高度な相互TLS(mTLS) の実装まで、基盤となるOS を気にする必要はもうありません。コードは一度書くだけで、残りは4D が処理します。
このクロスプラットフォームの調和が、証明書管理をいかに簡素化するのか見てみましょう。
macOS キーチェーンとは?
キーチェーンはmacOS に組み込まれたパスワードおよび証明書管理システムです。OS がパスワード、秘密鍵、証明書などの機密情報を安全に保管する場所です。
これまでmacOS でのHTTPRequest に特定のクライアント証明書を使用するには、ディスク上の証明書ファイルを指定する必要がありました。4D 21 R3 では、システムまたはユーザーのmacOS キーチェーンに安全に保管された証明書を直接参照できるようになりました。
なぜ使用するのか?
システムのネイティブ認証書管理を利用することで、以下のような利点があります:
-
セキュリティ強化:機密性の高い.pem や .p12ファイルをファイルシステム上に保存する必要がなく、不正アクセスリスクを低減します。
-
一元管理:OS や他のネイティブアプリケーションと同一の証明書を利用できます。
-
運用の容易さ:システム管理者がMDM(モバイルデバイス管理) 経由で証明書を展開するのが格段に容易になります。
使用方法
このブログの
キーチェーンから証明書を使用するには、new() 関数に渡すOption オブジェクトのstoreCertificateName プロパティを使用します。コード例は以下の通りです:
var $options:={storeCertificateName: "myCertificateName"}
var $request:=4D.HTTPRequest.new($url; $options)
もちろん、次の例に示すように、HTTP エージェントの証明書名を設定することもできます:
var $options:={storeCertificateName: "myCertificateName"}
var $agent:=4D.HTTPAgent.new($options)
var $request:=4D.HTTPRequest.new($url; {agent: $agent})
Windows と同様に、証明書はその名前(共通名)で識別され、4D はユーザーまたはシステムの利用可能なキーチェーン内でそれを探します。
macOS への証明書のインストール
macOS キーチェーンへの証明書登録は非常に簡単です。最も簡単な方法は、秘密鍵と身元証明書の両方を含むPKCS#12 証明書 を使用することです。多くのツールでこれらの証明書を生成できます。
macOSキーチェーンアクセスを開き、以下の動画に示すように、対象アカウントにPKCS#12 証明書ファイルをドラッグ&ドロップするだけです。
これで完了です!証明書は安全に保存され、4D で使用する準備が整いました。
証明書のアクセス制御設定によっては、証明書使用時に管理者パスワードの入力が求められる場合があります。これらの設定についてはApple のドキュメントをご確認ください。
次は何をする?
この機能により、両プラットフォームにおいて4D とネイティブOS の証明書管理間の連携が完了しました。ユーザーがWindows またはmacOS のいずれを使用している場合でも、シームレスで安全な認証体験を提供できるようになりました。
ご質問やフィードバックはありますか?ぜひ
現在、この投稿へのコメント機能は利用できません。