如何在 Debian 7.9 上导出 bks 密钥库

如何在 Debian 7.9 上导出 bks 密钥库

我需要生成一个 keystore.bks 文件以用于 android 开发。我无法弄清楚如何在不使用 GUI 工具的情况下导出 bks 密钥库。我在 Google Compute Engine 上有服务器空间,我通过 SSH 连接到该空间。据我所知,没有 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”。抱歉我的无能,但我正在努力完成一些我认为可能相对简单的事情。

这些是我得到的指示:

  1. http://portecle.sourceforge.net/并下载Portecle
  2. 通过 Portecle 打开您的 JKS 密钥库
  3. 导出您的证书
  4. 创建新的 BKS 密钥库
  5. 导入您的证书并将 BKS 密钥库保存为“keystore.bks”
  6. 在 Android 应用程序中,将 keystore.bks 文件替换为您刚刚创建的 BKS 密钥库
  7. 在 app.properties 中根据需要修改“server.ssl.keystore_password”

不幸的是,我无法在 Linux 安装中执行 portecle,因为它没有 GUI。我尝试将安装程序加载到服务器并运行 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) 在 javax.swing.JFrame.(JFrame.java:189) 在 net.sf.portecle.FPortecle.(FPortecle.java:342) 在 net.sf.portecle.FPortecle$CreateAndShowGui.run( FPortecle.java:6537) 在 java.awt.event.InitationEvent.dispatch(InvocableEvent.java:311) 在 java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) 在 java.awt.EventQueue.access$500(EventQueue. java:97) 在 java.awt.EventQueue$3.run(EventQueue.java:709) 在 java.awt.EventQueue$3.run(EventQueue.java:703) 在 java.security.AccessController.doPrivileged(Native Method) 在 java .security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:726) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 在 java.awt. EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread) .java:93) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

答案1

来自雄猫的如何:

$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA

此命令将在运行该命令的用户的主目录中创建一个名为“.keystore”的新文件。

因此,密钥库只是一个文件。因此,您可以将其下载到本地计算机上。如果您使用 Windows,则可以使用文件齐拉以此目的。然后您将能够在本地执行必要的操作。

相关内容