私は複数のノードサーバーに接続できるアンドロイドアプリケーションを開発中です。この接続は安全である必要がありますので、証明書が必要です。しかし、私は証明書に支払うことができません。私の研究として、私は各サーバーの証明書を作成し、自分のルート証明書で署名します(私もそれが必要です)。それから私は私のアンドロイドアプリケーションにルート証明書をピン止めします。だから私は1つのアンドロイドアプリから複数のサーバーを接続することができます。しかし、私はこの証明書を作成する方法とアンドロイドアプリケーションにそれを固定する方法を知りません。android volley and nodejsの証明書を作成
答えて
CAはIPにバインドされた証明書を生成できますが、それは通常ではありません。この場合、自己生成証明書を使用する方が適切です。あなたは)
1を必要とするあなたはopensslの
が必要になります
hereから抽出CA証明書とSSL証明書を作成し
openssl genrsa -out rootCA.key 2048
openssl genrsa -des3 -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
CA証明書を作成します。これは、対話式スクリプトを開始しますさまざまな情報を求められます。あなたはrootCA.pem
は、各デバイスのための証明書を作成して取得します
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256
「一般名」の第2ステップのインサート内
あなたが求められますさまざまな質問(国、州/省、など)IPまたはデバイスの名前を入力します。ブラウザやAndroidデバイスが)それを
2を検証するあなたに良い説明やリンクを提供するために、私はNode.jsののない十分な知識を持っていない httpsを使用するようにnodejsサーバーを設定しますので、本当の名前を一致させることが重要です、公式の文書を使用してください。おそらく、一部の読者がこれを編集してリンクを提供する可能性があります。
3)証明書の公開鍵とチェーンをAndroidアプリケーションのトラストストアに追加してください。
から
抽出hereあなたは
1))は、あなたのCA証明書
2の公開部分を取得しますBKSキーストアを作成し、証明書をインポートが必要になります(rootのみが必要になります)
3)アプリケーションでキーストアを使用します。キーストアを使用してSSL接続をコンフィグレーションするカスタムApache HTTPクライアントを作成する
詳細は、リンク上のコミュニティウィキにあります。
Android用Volley。 Using Android Volley With Self-Signed SSL Certificate
私は第2ステップについていくつか質問があります。証明書を作成するときに、自分のデバイスのパブリックIPを入力すると、自分のローカルネットワークからプライベートIP(192.168.1.1)のようにアクセスできますか?私は公共のアドレスと私的なアドレスでこのデバイスにアクセスしたいと思う。出来ますか?そして、私はデバイス名の用語を理解しませんでした。あなたはホスト名について話していますか? – ekilic
私はホスト名を言ったかった。証明書の共通名(ホスト名)をIPに設定すると、そのIPに対してのみ有効になります。プライベートアクセスとパブリックアクセスを使用する場合は、2つの証明書と2つのエンドポイントが必要です。または、IPアドレスの代わりにDNS名を使用してください。 – pedrofb
はい、ダイナミックDNSを使用することを考えています。だから私は私のエンドポイントの静的アドレスの料金を支払う必要はありません。しかし、私はそれを使用する場合、私はインターネット接続なしでローカルにエンドポイントを使用することはできません。 sslが複数の共通名のオプションを指定するか、共通名をチェックしないと、私の問題は解決します。 – ekilic
- 1. Android Hybrid App + Volley、Cookies and WebView
- 2. iOS開発証明書の作成 - 無効な証明書 - チーム
- 3. 証明書パス(証明書チェーン)付きのbouncycastleを使用してx.509証明書を作成
- 4. Androidアプリ内で証明書署名リクエストを作成する
- 5. AndroidでSpongyCastleでpkcs#7証明書を作成するには?
- 6. nodejsを使用して証明書ストアからp12証明書をダウンロードする
- 7. エラー:nodejsの証明書チェーン内の自己署名入り証明書
- 8. Android証明書のインストール
- 9. Androidアプリケーションの証明書
- 10. Android証明書の問題
- 11. 証明書、中間証明書、秘密鍵からキーストアを作成する
- 12. AndroidマニュアルX509証明書チェーンの検証
- 13. 証明書パーサーin android
- 14. ランダム証明書を生成
- 15. X.509認証証明書を作成する
- 16. 証明機関を使用してプログラムで証明書を作成する
- 17. 説明なしのAndroid Volley NullPointerException
- 18. NodeJSをプロキシクライアント証明書にする方法
- 19. Azure CLI for Linux and Mac:証明書の問題
- 20. X509証明書ユニットテスト - 証明書とそれを持つCRLを作成する必要があります
- 21. プッシュ証明書は、私は私のアプリのためのdevのプッシュ証明書を作成しました
- 22. nodejsで公開証明書と自己署名証明書の両方を信頼する方法
- 23. android証明書ストアからクライアント証明書を取得する方法
- 24. Androidが証明書を生成できません
- 25. SHA-1証明書のAndroidサポート
- 26. Android Webviewで証明書の固定化
- 27. Android、システムのプライベート/パブリック証明書にアクセス
- 28. CA発行のHTTP証明書から子証明書を生成
- 29. .NET内のクライアントアプリケーションの証明書を作成
- 30. Java証明書とSSL証明書
SSL証明書について質問していますか? – pedrofb
はい。証明書を作成する必要があります。私は窓を使用しています。私は証明書を作成して管理するツールを見つけましたが、うまく機能しませんでした。私はクロムで試してみるとエラーが出ます。私はまた、私はアンドロイドのためのbksキーストアが必要であることを読んだ。私はそれを作成する方法を理解していませんでした。 – ekilic
証明書の生成とトラストストアを処理したくない場合は、信頼できる機関を使用することをお勧めします。https://letsencrypt.org/を試してください。これは無料。独自の証明書を使用する場合は、SOで検索し、特定のサーバーを構成する方法をSOで検索してください。この質問は大きいです – pedrofb