Android開発用にkeystore.bksファイルを生成する必要があります。 GUIツールを使用せずにbksキーストアをエクスポートする方法がわかりません。 SSH 経由で接続する Google Compute Engine にサーバースペースがあります。私が知る限り、GUIオプションはありません。
次のようにしてTomcatにHTTPSを設定しました。
Run $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
You will have to answer a few questions. Most are intuitive. But:
Specify same passwords for both: key store and key.
After completion you will have new key store with new key.
As the next step you must edit $CATALINA_BASE/conf/server.xml file: Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystorePass="your_password_from_step_3" />
今そうしました。今、私のキーストアをkeystore.bksにエクスポートする必要がありますが、それを行う方法が見つかりません。少なくとも私が理解できる方法はありません。私はLinuxに初めてアクセスし、詳細な指示が必要です。 1. "blah blah blah"コマンドを使用してダウンロードします。 2. "blah blah blah"コマンドを実行します。私の無能さを残念に思いますが、比較的単純かもしれないと思われる仕事を達成しようとしています。
私が受けた指示は次のとおりです。
- 行くhttp://portecle.sourceforge.net/そしてPortecleをダウンロードしてください。
- Portecleを介してJKSキーストアを開きます。
- 証明書のエクスポート
- 新しいBKSキーストアの作成
- 証明書をインポートし、BKSキーストアを "keystore.bks"として保存します。
- Androidアプリケーションで、keystore.bksファイルを作成したばかりのBKSキーストアに置き換えます。
- 必要に応じてapp.propertiesで「server.ssl.keystore_password」を変更します。
残念ながら、LinuxインストールではGUIがないため、portecleを実行できません。インストーラをサーバーにロードし、java -jar portecle.jarを実行しようとしましたが失敗しました。
2015年12月19日午前2時33分:37 java.util.prefs.FileSystemPreferences $ 1実行情報:ユーザー設定ディレクトリが作成されました。 'AWT-EventQueue-0' スレッドの java.awt.HeadlessException 例外: X11 DISPLAY 変数が設定されていませんが、プログラムが必要な操作を実行しました。 java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204), java.awt.Window.(Window.java:536), java.awt.Frame.(Frame.java:420), java.awt.Frame. (Frame.java:385) in javax.swing.JFrame.(JFrame.java:189) in net.sf.portecle.FPortecle.(FPortecle.java:342) in net.sf.portecle.FPortecle$CreateAndShowGui.run( FPortecle.java:6537) in java.awt.event.InitationEvent.dispatch(InvocableEvent.java:311) in java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) in java.awt.EventQueue.access$500 java:97) in java.awt.EventQueue$3.run(EventQueue.java:709) in java.awt.EventQueue$3.run(EventQueue.java:703) in java.security.AccessController.doPrivileged(Native Method) in java .security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) in java.awt.EventQueue.dispatchEvent(EventQueue.java:726) in java.awt.EventDispatchThread.pumpOneEventForFilters java.awt.eventDispatchThread.pumpevents から java.eventdispatchThread.pumpevents の eventDisPatchThread.pumpeventSforFilter(eventDispatchThread.java:116) atchthread.pumpevents(eventDispatchThread ) EventDispatchThread.java:82) )