SSLクライアント証明書を使用してAPIクライアントを認証するパブリックRESTAPIを備えたRailsアプリケーションがあります。
アプリを単純なCAとして機能させたいのですが。管理者ユーザーは、サイトのページにアクセスして、新しい証明書を要求できる必要があります。アプリケーションは、アプリケーションの秘密鍵で署名された新しいSSL証明書を生成し、それを何らかの形式で管理者ユーザーに返す必要があります。
管理者ユーザーは、この証明書をクライアントアプリにインストールします。これらのアプリは、新しい証明書を使用してRESTAPIにアクセスできるようになります。
これを実装する最も簡単な方法は何ですか?新しい証明書を生成して署名することを私が知っている唯一の方法は、サーバー上でCAとして構成した後(たとえば、このようにopenssl
)、コマンドラインを使用することです。それを行う必要があり、 Rails内のバックティックを使用して通信する必要がありますか?それは厄介で壊れやすいようです。openssl
openssl
証明書を管理者に返却するにはどうすればよいですか?ダウンロードするテキストファイルとして証明書を渡すことができます。ユーザーがブラウザーから証明書を要求し、その証明書をブラウザーに直接インストールできるCAWebインターフェースを見てきました。次に、管理者は証明書をエクスポートしてクライアントスクリプトに渡す必要があります。
acts_as_CA
Rails用の""宝石はないと思いますか?
[秘密鍵に対してクライアント要求を認証する方法をすでに知っていることに注意してください。この質問は、特に新しい証明書の発行に関連しています。]