我有一個使用公共REST API的Rails應用程序,它使用SSL客戶端證書對API客戶端進行身份驗證。在Rails應用程序中籤署新證書
我希望該應用充當簡單的CA. 管理員用戶應該可以訪問網站上的一個頁面並申請一個新的證書。應用程序應該生成一個新的SSL證書,並使用應用程序的私鑰進行簽名,並以某種形式將其返回給管理員用戶。
admin用戶將在客戶端應用程序中安裝此證書。這些應用程序將能夠使用新的證書來訪問REST API。
實現這個最簡單的方法是什麼?在將openssl
配置爲服務器上的CA(例如like this)後,我知道生成和簽署新證書的唯一方法是使用openssl
命令行。我需要這樣做嗎,並且在Rails中使用反引號與openssl
進行通信?這看起來很乏味和脆弱。
我該如何將證書退回給管理員?我可以將它們作爲文本文件傳遞給他們下載。我已經看到允許用戶從瀏覽器申請證書的CA Web界面,然後直接將證書安裝到瀏覽器中。然後,管理員必須導出證書以將其傳遞給客戶端腳本。
我認爲Rails沒有任何種類的「acts_as_CA
」gem?
[請注意,我已經知道如何對我的私鑰進行客戶端請求驗證。這個問題具體涉及頒發新證書。]