问题标签 [keytool]

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 投票
3 回答
10800 浏览

ruby - 使用自签名证书

我只是想了解 SSL。

我已经在我的本地主机上设置了一个 Jetty 服务器,并使用Keytool生成了我自己的证书。

现在,当我转到https://localhost:8443/时,我得到了无法信任此证书的错误。

我用

keytool -export -alias pongus -keystore keystore -file certfile.cer

创建我认为客户端需要向服务器进行身份验证的证书。(这是我可能大错特错的地方!)

我有以下红宝石代码:

这确实会打印“yay”,因此 certfile.cer 文件确实存在。

但我得到了错误

任何想法我做错了什么?

编辑

我想得到它,所以我保证我连接到正确的服务器,并且服务器可以保证是我连接到它,中间没有任何篡改。我正在开发服务器和客户端。

0 投票
3 回答
25394 浏览

java - Keytool 设置主机名

我只是在尝试使用 java keytool,但我不知道如何设置主机名。

这就是我正在尝试的方式:

由于我已将所有字段设置为主机名,我可以假设我的主机名设置为主机名吗?

0 投票
5 回答
56992 浏览

java - Keytool 创建受信任的自签名证书

我正在尝试使用 (java) keytool 创建一个自签名证书,但是当我尝试使用它时,我得到了以下异常(整个异常见底部)。

我知道我可以用这段代码绕过它:

(来源)

但我对这个解决方案不感兴趣,因为我认为它会造成安全漏洞。(如果我错了,请纠正我)。

谁能指出我正确的方向?我现在正在本地测试,所以很容易改变。我可以访问服务器代码、客户端代码和 .keystore 文件。

更新

我试图为客户端和服务器使用一个 .keystore 文件,但为了简化我的问题,我创建了 server.keystore(见下文)和 client.truststore(见下文)。我有理由相信这些证书是正确的,但如果有人可以验证,我将不胜感激。

服务器.keystore

客户端.truststore

更新

我认为包含整个异常可能很有用:

0 投票
4 回答
56965 浏览

java - 您不需要密码即可访问信任库(使用 java keytool 创建)?

我刚刚使用 java keytool 创建了一个信任库(用于对没有 CA 证书的服务器进行服务器身份验证)。但是我刚刚注意到一些奇怪的事情。我开始我的客户是这样的:

(注意:没有指定密码)

上述调用有效。


但是,当我尝试这个时:

这没用。(显然它不起作用,它需要信任库)。


我期望需要传递这个选项(但我没有):


问题:访问信任库不需要密码吗?密码只是为了修改吗?密钥库呢?

0 投票
3 回答
10947 浏览

java - 没有主机名的 SSL 证书

我已经使用 keytool 实现了一个带有服务器和客户端身份验证的 Web 服务。问题是如果我没有在其中包含主机名,则此身份验证不起作用。例如:

但我不需要,也不喜欢通过主机或 IP 进行验证。有什么办法可以避免吗?

谢谢。

0 投票
1 回答
1708 浏览

java - PKCS12 格式的密钥库对 keytool 来说似乎是空的,但被 Firefox 读取?

我的 pkcs12 格式的密钥库有问题,其中包含我需要用来向远程 SSL 服务器验证自己(使用相互验证)的私钥。Firefox 可以很好地读取密钥库文件,并且在使用时,我可以毫无问题地访问远程服务器。

但是,我的 Java 程序不适用于密钥库文件。如果我使用 keytool 列出文件中的键,它似乎是空的——虽然它显然不是!

如何获取 Java/keytool 以查看密钥库中的私钥?

0 投票
8 回答
34382 浏览

android - 已发布的 Android apk 出现错误“包文件未正确签名”

我最近将我的应用程序上传到了 android 市场,但是由于错误,它在下载时拒绝运行

包文件未正确签名

我首先使用eclipse发布了数据包,右键单击导出,创建一个密钥库然后发布,但是它拒绝工作。

然后我下载了 keytool 和 jarsigner 并使用它们签署了我发布的升级。然而,这给出了同样的错误。

我不知道我做错了什么,由于我无法删除应用程序,我无法尝试重新开始,任何人都可以帮助我吗?

谢谢

0 投票
3 回答
3736 浏览

java - 如何创建 X509 自签名证书以在 Apache Tomcat 中使用

我有一个使用 3rd Party JVM 在 Windows Mobile 设备上运行的 Java 应用程序。该应用程序通过 HTTP 与 Apache Tomcat 服务器通信。我们还为某些连接使用了 HTTPS,并且证书是使用 Sun keytool 实用程序创建的。首先使用 genkey 创建一个密钥库,然后使用 export 导出证书,最后使用 import 将其导入另一个密钥库。genkey 创建的文件被加载到 Apache 服务器中,使用 import 创建的密钥库被加载到 PDA 上的 JVM 中。一切都按预期工作。

我现在在 PDA 上使用新的 JVM,并且(无论出于何种原因)我已经确定该 JVM 要求密钥库为 X509 (DER) 格式。大约一个月前我开始研究这个并让它工作,但愚蠢地从未写下我采取的步骤,现在我无法记住我做了什么。我似乎记得使用过 openssl 但除此之外我完全迷路了。我现在使用 openssl 创建并尝试加载到 Apache 的任何内容都会在启动时导致错误(无效的密钥库格式),所以我可能完全遗漏了一些东西。

有谁知道我应该如何创建这个可以加载到 Apache 服务器和 PDA 上运行的 JVM 的自签名 X509 证书?

更新

我按照 Apache 的说明创建自签名证书:

但是当我将密钥复制到 Apache conf 目录并启动时,我得到一个异常:

server.xml 文件包含以下 HTTPS 条目:

我猜密钥库需要是 Java 密钥库格式??但我需要设备的证书为 x509 格式,所以我不知道该怎么做?

0 投票
2 回答
4850 浏览

android - 使用多个证书签署应用程序

https://developer.android.com/studio/publish/index.html的签名文档:

当系统正在对应用程序安装更新时,如果新版本中的任何证书与旧版本中的任何证书匹配,则系统允许更新。

这表明可以使用多个证书对应用程序进行签名。

这是允许多个实体签署应用程序的有趣选项。例如:最初由设备制造商签署的系统应用程序。开发人员可以签署进一步的更新。

我是误读了文档还是真的有可能?如果是这样,怎么做?

应用程序是否有其他方法可以支持不同的证书,并且有两个或多个实体对其进行签名?

0 投票
1 回答
2210 浏览

java - 将客户端自签名证书导入 java 密钥库

另请参阅:Java 密钥库能否导入 OpenSSL 生成的密钥对?

我提供了以下文件以针对节俭端点进行身份验证:

  • cacert.pem
  • 本地.crt
  • 本地密钥

我最难尝试创建一个包含客户端证书的密钥库。端点应用程序有自己的 CA 来验证他们的客户端证书。老实说,我不确定密钥库中需要包含什么(假设客户端证书和端​​点公共证书),但对于我的生活来说,它无法正常工作。

有谁知道如何将客户端证书导入密钥库?或者,我需要做什么才能使其正常工作?谢谢。