2016-06-16 5 views
0

私が作成したAPIソリューションにはPlayframeworkが使用されています。私のサーバが提供するHTMLページはなく、JSONのAPIクエリ応答のみです。私は、playframeworkがを使ってhttpsを自己署名鍵でサポートできることを知っています。 ドキュメントにはDevモードでのみ使用されることが記載されています。API用HTTPS:生産中

ウェブページが提供されていないため(自己署名されたキーのブラウザに関する警告は表示されません)、API呼び出しの暗号化についてのみ悩まされています。または私は何かを逃している?

答えて

1

ドキュメントでは、プロードモードでアプリケーションを実行するときに証明書を提示しないと、Playはそれを生成して実行すると述べています。これは、証明書が何も制御していないランダムなものであるため、お勧めしません。

プライベート証明書を使用するかどうかという質問に、ブラウザーでURLを開くと、「信頼できない証明書」がユーザーに警告されます。これはあなたの場合ではないので、Webサーバーのコンシューマーが限定されたセットに限定されている場合、私はあなたをprodモードで使用できると思います。先へ進む前に、他の賛否両論を考慮してください。

あなたが進めたい場合は、あなた自身の個人証明書を生成し、それを使ってアプリを実行することができます。このためにドキュメントを再生するために応じてコマンドは次のとおりです。

keytool -genkeypair -v \ 
-alias cert \ 
-dname "CN=<CHANGE ME>, OU=<CHANGE ME>, O=<CHANGE ME>, L=<CHANGE ME>, ST=<CHANGE ME>, C=IN" \ 
-keystore cert.jks \ 
-keypass a1AhzIabP1 \ 
-storepass a1AhzIabP1 \ 
-keyalg RSA \ 
-keysize 4096 \ 
-ext KeyUsage:critical="keyCertSign" \ 
-ext BasicConstraints:critical="ca:true" \ 
-validity 9999 

このコマンド次に、この

https.port=9443 
play.server.https.keyStore.path="conf/cert.jks" # relative path to your certificate 
play.server.https.keyStore.password="a1AhzIabP1" 

はそれが役に立てば幸いようなあなたのapplication.confでそれを設定

keytool -list -v \ 
-keystore conf/cert.jks \ 
-storepass a1AhzIabP1 

を使用して証明書を確認してください!

+0

ご意見ありがとうございます。プライベート証明書を使用する他の賛否両論は知っていますか? – user2460477

関連する問題