问题标签 [keystore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
119182 浏览

tomcat - 如何从自签名证书的密钥库中导出私钥

我刚刚在运行 tomcat 6 的 linux 机器上创建了一个自签名证书。

我创建了这样的密钥,有效期为 10 年:

并将密钥库复制到 tomcat 中的文件夹中,并更新 server.xml 以指向密钥库。

现在我的网络管理员正在询问公钥和私钥(对于我们的负载均衡器)

我可以使用以下方法生成公钥:

但是如何导出/检索私钥?

0 投票
3 回答
18007 浏览

android - 密钥库和别名 - 是否有多个别名的用途?

使用 Eclipse 导出已签名的 Android 应用程序时,是否有使用多个别名的目的?

根据有关签名的官方指南,建议您使用相同的证书对所有应用程序进行签名,以允许您的应用程序共享数据、代码并以模块化方式更新。

假设“别名”、“密钥”和“证书”在这种情况下本质上是可以互换的,那么是否有人愿意他们的所有应用程序使用不同的别名?我能想到的唯一原因是它为您的应用程序增加了更多的安全性,因为泄露的密钥/密码不会泄露所有内容。还有其他原因吗?

另外,生成的密钥是否取决于别名的名称?换句话说,如果您更改别名的名称而不更改密码,则生成的证书会有所不同吗?

0 投票
1 回答
50560 浏览

java - Java 密钥库可以导入 OpenSSL 生成的密钥对吗?

我用 openssl 生成一个认证密钥。这是我的命令:

openssl genrsa -des3 -out enc_key.pem 1024

我导出到 cer 文件,然后使用 java keytool 导入到 java keystore (jks)。

密钥库听起来不错。我可以从我的 java 应用程序加载密钥库。

问题是当客户端连接到服务器(在这种情况下是 FTP 服务器,而不是 Web 服务器,我使用 apache mina)时,发生了异常:

javax.net.ssl.SSLHandshakeException:SSL 握手失败。在 org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:433) 在 org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) 在 org.apache.mina.core .filterchain.DefaultIoFilterChain.access$5(DefaultIoFilterChain.java:429)

...

原因:javax.net.ssl.SSLHandshakeException:com.sun.net.ssl.internal.ssl.Handshaker.checkThrown(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLEngineImpl 没有共同的密码套件.checkTaskThrown(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.writeAppRecord(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.wrap(Unknown Source) at javax.net .ssl.SSLEngine.wrap(未知来源)

...

引起:javax.net.ssl.SSLHandshakeException:com.sun.net.ssl.internal.ssl.SSLEngineImpl 的 com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) 没有共同的密码套件.fatal(未知来源)

我有几件事想问:

  1. 我使用 openssl 生成的认证密码是什么?我们怎么知道?也许通过命令行openssl xxx?
  2. 我去http://java.sun.com/j2se/1.5.0/docs/guide/security/jsse/JSSERefGuide.html#AppA。我将 SSL_RSA_xxx 放入启用的密码套件,但仍然无法工作(我放入 SSL_RSA 是因为 SSL 使用的是 ssl implisit 和 genrsa,只是我认为 genrsa 是生成 RSA)。这是正确的吗?
  3. 有人知道解决方案吗?
  4. 或者,任何人都知道如何从 openssl 命令行生成标准密钥库,直到可以在 java 应用程序中使用(当然使用密码)。因为现在我可以从 openssl 生成证书并导出 keystore java,但我不知道我使用的密码是什么以及如何在 java 应用程序中使用。注意:如果密钥库是直接从 java 生成的,我可以运行。现在的问题是,java keytool 生成的密钥库是否来自 openssl 等认证(以及其他可能)。

任何帮助将不胜感激!谢谢

0 投票
4 回答
54791 浏览

ssl - 使用 SSL/Keystore 连接到 Java 中的 Websphere MQ

我想通过 Java 连接到 Websphere 6.0 MQ。我已经为“正常”队列工作了代码,但现在我需要访问一个经过 SSL 加密的新队列(密钥库)。我收到了一个名为 something.jks 的文件,我认为它是我需要存储在某处的证书。我一直在网上搜索,但找不到正确的信息。

这是我用于“正常”队列的代码。我假设我需要设置一些属性,但不确定是哪一个。

0 投票
2 回答
13124 浏览

java - KeyStore、HttpClient 和 HTTPS:有人可以向我解释这段代码吗?

我试图了解这段代码中发生了什么。

我的问题:

trustStore.load(instream, "nopassword".toCharArray());到底在做什么?通过阅读文档load(),将使用一些任意的“nopassword”从输入流(这只是我们刚刚创建的一个空文件)加载 KeyStore 数据。为什么不将其null作为 InputStream 参数和一个空字符串作为密码字段加载呢?

然后当这个空的 KeyStore 被传递给 SSLSocketFactory 构造函数时会发生什么?这样的操作的结果是什么?

或者——这仅仅是一个示例,在实际应用程序中,您必须实际引用现有的密钥库文件/密码?

0 投票
8 回答
351524 浏览

java - 密钥库更改密码

我目前有一个密钥库,有一个只有我应该知道的特定密码。我现在需要将对该密钥库的访问权限授予其他人,所以我想:

1)更改密码,以便我可以与其他人共享并让他们签名
2)创建一个不同的密码并允许他们使用它签名。

这可能吗?和 - 如果是的话 - 如何?

0 投票
1 回答
2879 浏览

java - 为一个别名加载 Java KeyStore?

有谁知道是否可以加载 KeyStore 以便它只提示输入给定别名的密码?

例子:

在我的密钥库中,我有两个私钥:Alice 的加密证书和 Bob 的加密证书。

当我加载我的密钥库时:

系统提示我输入 Alice 和 Bob 的密钥库密码。输入它们后,我可以使用它getKey("Alice's Encryption Certificate", null);来检索 Alice 的私钥。我的密钥由 Entrust 的安全提供商保护,它在加载密钥库时提示我输入密码。如果我不输入 Bob 的密码并尝试获取他的密钥,它将返回 null,这很好,但我想避免密码提示。

是否可以在加载密钥库之前以某种方式指定我只想要 Alice 的密钥,这样我就不会被提示输入 Bob 的密码?

谢谢。

0 投票
2 回答
6872 浏览

java - 如何存储 Java KeyStore 密码?

在我的 Web 应用程序中,我访问了存储在 Java KeyStore 中的私钥。我想知道存储 KeyStore 和私钥密码的最佳/推荐方式是什么。

我考虑过使用属性文件,但在生产环境中使用似乎不是很安全(将密码存储在纯文本文件中)。此外,在我的代码中硬编码密码不是我愿意接受的选择。

谢谢。

0 投票
2 回答
1753 浏览

java - 生成密钥库 (Java) 时遇到问题

我正在尝试发布我的第一个 Android 应用程序,因此需要使用密钥库对应用程序进行签名。

起初一切顺利。我在命令提示符中键入以下内容:

我回答了以下几个问题,但在最后一个问题之后,我收到以下错误

keytool 错误:java.io.FileNotFoundException:testKeystore.keystore [访问被拒绝]

也许我犯了一些愚蠢的错误,但我在互联网上遵循了几个关于如何制作密钥库的指南,我认为这就是它的全部内容?

0 投票
1 回答
239 浏览

.net - .net 客户端 Web 应用程序?

以前从未做过任何 .net 的事情,我想知道是否可以通过浏览器运行 .Net Web 应用程序客户端?或者它只能通过在服务器上处理然后吐出一个 HTML 页面来工作?我想利用 System.Security.Cryptography.X509Certificates 命名空间来访问用户的 Windows-MY 密钥库并提取 X509 证书及其关联的私钥,由于显而易见的原因,这必须在客户端而不是服务器端完成。