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```:={ : "myCertificateName"} := . . ( ; )```storeCertificateName
var $request4DHTTPRequestnew$url $options
もちろん、次の例に示すように、HTTP エージェントの証明書名を設定することもできます:
var $options:={ : "myCertificateName"} := . . ( ) := . . ( ; { : })storeCertificateName
var $agent4DHTTPAgentnew$options
var $request4DHTTPRequestnew$urlagent $agent
Windows と同様に、証明書はその名前(共通名)で識別され、4D はユーザーまたはシステムの利用可能なキーチェーン内でそれを探します。
macOS への証明書のインストール
macOSキーチェーンへの証明書登録は非常に簡単です。最も簡単な方法は、秘密鍵と身元証明書の両方を含むPKCS#12証明書 を使用することです。多くのツールでこれらの証明書を生成できます。
macOSキーチェーンアクセスを開き、以下の動画に示すように、対象アカウントにPKCS#12証明書ファイルをドラッグ&ドロップするだけです。
これで完了です!証明書は安全に保存され、4Dで使用する準備が整いました。
証明書のアクセス制御設定によっては、証明書使用時に管理者パスワードの入力が求められる場合があります。これらの設定についてはAppleのドキュメントをご確認ください。
次は何をする?
この機能により、両プラットフォームにおいて4DとネイティブOSの証明書管理間の連携が完了しました。ユーザーがWindowsまたはmacOSのいずれを使用している場合でも、シームレスで安全な認証体験を提供できるようになりました。
ご質問やフィードバックはありますか?ぜひ
現在、この投稿へのコメント機能は利用できません。