ユーザー名/パスワードの代わりに、Webサイト認証用のPKIおよびクライアント証明書をサポートするコンテンツ管理システムが現在存在するかどうか疑問に思っていました。そうでない場合、この認証スキームを使用するサイトの開発を始めるための良い場所は何ですか? PythonとDjangoで可能ですか?
「Djangoクライアント証明書」でGoogleを単純に検索すると、 this 、 this 、および this が表示されます。これらはすべて、質問に次のように答えます:はい、 Djangoは、証明書ベースのクライアント認証で機能します。
クライアント証明書は、クライアントが証明書を持っているように調整できる場合にのみ機能するため、実際にはそれほど頻繁には行われません。所有 [〜#〜] pki [〜#〜] 。独自のPKIを実行するためのソフトウェアは利用できます(例: [〜#〜] ejbca [〜#〜] )。ただし、PKI管理には明確に定義された手順を厳密に遵守する必要があるため、時間がかかります。カスタムPKIの長期的なコストが過小評価されることがよくあります(つまり、適切に実行したい場合)。
クライアント証明書は、パスワードを使用する方法のように、証明書をタブレットやスマートフォン、または代替のラップトップに簡単に(またはまったく)転送できないため、ユーザーにとっても不便です。これは実際にはblockingではありませんが、クライアント証明書のデプロイメントの希少性を説明しています。