问题标签 [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 投票
1 回答
1564 浏览

java - 使用 Keytool 将 EKU 添加到 CSR?

如何使用 Keytool 将“服务器身份验证”EKU 添加到 CSR 或私钥?

这是我正在做的事情:

  1. 使用 ">Keytool -genseckey -dname="CN="my.server.com" ... 生成密钥对
  2. 使用在步骤 #1 中创建的密钥对生成 CSR。
  3. 将 CSR 提交给 Windows Enterprise CA,要求提供 Web 服务器证书。

CA 以“证书对请求的用途无效。”拒绝 CSR。如何使用 keytool 添加“请求的使用”,以便 CA 颁发证书?

0 投票
2 回答
26508 浏览

java - 如何从 Java 生成、签署和导入 SSL 证书

可能重复:
使用 Java 生成证书、公钥和私钥

我需要在运行时生成自签名证书,对其进行签名并导入到 Java 密钥库。我可以通过以下方式在命令行中使用“keytool”和“openssl”来做到这一点:

当然,我可以使用 keytool 和 openssl 二进制文件发布我的应用程序,并从 Java 执行上述命令,但我正在寻找一种更简洁的方法,它允许我使用纯 Java 完成上述所有操作。

我可以使用任何库吗?

0 投票
4 回答
5082 浏览

android - JDK 7 更改了 keytool 输出

我正在使用 JDK 的 keytool 来生成 Google Maps API 密钥指纹。在多次被拒绝的过程中,我意识到我最近将 JDK 升级到了 1.7。所以我将我的目录切换到 JDK6(感谢上帝,旧版本仍然存在。),并重复相同的命令:

和砰!有用。原来是JDK7生成了SHA1指纹而不是MD5,导致我提交给谷歌被拒绝了。所以我想知道为什么新版本的JDK会发生这种情况。有人有一些线索吗?

0 投票
6 回答
15223 浏览

ssl - Jetty 7.0 SSL 配置的密钥库密码

尝试使用以下说明在 jetty 7.2.2 上设置 SSL:http: //docs.codehaus.org/display/JETTY/How+to+configure+SSL

卡在 3b 上: keytool -importkeystore -srckeystore jetty.pkcs12 -srcstoretype PKCS12 -destkeystore $JETTY_HOME/etc/keystore

jetty 附带默认密钥库,位于$JETTY_HOME/etc/keystore. 运行该命令时要求我输入密码。我不知道默认密钥库密码。

如果我尝试用新创建的密钥库替换该密钥库 - 我在码头启动时收到 IOException - 密钥库被篡改或密码不正确。

我做错了什么?或者什么是默认的密钥库码头密码?

0 投票
2 回答
1678 浏览

java - 无法为 Exchange EWS 生成代理类:无法找到到所请求目标的有效证书路径

我想为 EWS 生成一个代理类(http://msdn.microsoft.com/en-us/library/dd877045%28v=exchg.140%29.aspx)。

但我收到此错误消息:

0 投票
2 回答
5028 浏览

java - 无法访问适用于 Android 的 Java 密钥库

请帮助我并原谅任何错误,已经很晚了,我一直在尝试各种解决方案,因为我不喜欢打扰别人,如果我能帮上忙,但我已经碰壁了。

我最近尝试访问由 Eclipse SDK 创建的调试密钥库,以便在我的应用程序中使用 Google 地图 API。现在我知道该文件存在并且有它的路径。但是要访问它并接收 MD5 指纹,我必须使用 keytool 命令。现在我被告知这个命令必须在计算机命令提示符下完成,因为没有 keytool GUI。这就是问题所在,因为我的命令提示符无法识别我给它的命令。这是命令

keytool -list-alias androiddebugkey-keystore(path_to debug_keystore).keystore-storepass android -keypass android

(括号应该是左右箭头)命令提示符回复的

keytool 不是内部或外部命令、可运行程序或批处理文件。现在我尝试手动输入我认为是 (C:\Users\Adam.android\debug.keystore).keystore 的路径,我还尝试了 C:\Adam.android\debug.keystore).keystore Adam 的变体。 android\debug.keystore).keystore .android\debug.keystore).keystore debug.keystore).keysotre

然后它回复“系统找不到指定的路径”

因此,命令提示符无法识别命令“keytool”或我输入了错误的路径(这可能是因为我不经常使用命令提示符命令来知道如何成功编写路径

最后,我打电话给我的一位技术含量更高的朋友,他说这是因为我在 Windows 7 上运行,并且大多数命令功能在 Windows 7 操作系统中都被删除了,我将不得不恢复到 Vista。我对此持怀疑态度,因为我无法相信所有 android 程序员都仅限于 Vista。

如果有人经历过这种情况或知道如何解决它,请帮助我,因为我决心克服这个问题,但确实碰上了砖墙。

所以总结一下

我无法使用 keytool 访问调试密钥库(或为此创建我自己的)并且找不到解决方案

提前感谢所有帮助,我祈祷有人帮助我,因为我喜欢编程并且不想被这么小的事情停下来。

感谢阅读亚当

0 投票
2 回答
19487 浏览

java - 尝试刷新“过期”的密钥库

我正在尝试使用 ant 任务“signjar”重新签署一些 jar,但它告诉我“签名者证书已过期”。

因此,我尝试重新生成密钥库,希望这会使其“过期”...

keytool -genkey -keystore mykeystore -alias myalias

但输入密钥库密码后,我得到:“keytool 错误:java.lang.Exception:未生成密钥对,别名已存在”

我究竟做错了什么?我是否需要删除密钥库才能重新生成它,或者是否有一种简单的方法可以刷新它以使其不会过期?

谢谢。

0 投票
9 回答
310992 浏览

java - Keytool 应用程序在哪里?

我需要在 android 中使用 mapview 控件,我似乎无法理解如何运行keytool。它是用eclipse安装的吗?我似乎找不到下载链接。

谢谢

0 投票
5 回答
57495 浏览

java - keytool - see the public and private keys

I created Java keystore programmatically of type jks (i.e. default type).
It is initially empty so I created a DSA certificate.

How can I see the public and private keys?
I.e. is there a command that prints the private key of my certificate?
I could only find keytool -certreq which in my understanding prints the certificate as a whole:

I assume this is the whole certificate. How can I see private (or public key) via keytool?

0 投票
2 回答
6607 浏览

java - 没有身份验证的java安全套接字?

我有一个简单的安全套接字服务器-客户端程序。
对于服务器证书,我使用 keytool 创建了一个密钥库。
当我尝试通过客户端连接到服务器时,出现以下异常:
在服务器中:

在客户端:

如果我的理解是正确的,那么这些异常是由于我使用我创建的证书这一事实引起的。
我的问题如下:
如果我在服务器和客户端中设置启用的密码套件,所有 *_anon* 密码套件,这不应该解决问题吗?
我的意思是如果我启用*_anon_*密码套件,则不需要身份验证,因此没有例外。
它是否正确?
因为我仍然遇到异常。我尝试在已启用的密码套件中包含所有已启用的+_anon 密码套件。没有成功。我尝试只设置 anon 并得到一个新的例外:

有人可以用匿名密码套件解释为什么我会得到这些例外吗?
注意:
如果我在客户端上设置javax.net.ssl.trustStore指向我创建并由我的服务器使用的密钥库的系统属性,则通信正常!
该程序正常工作,数据从客户端发送到服务器正常。


更新:
这是我用来启用匿名密码的片段(我已经为服务器和客户端部分做了这个):

堆栈跟踪位于客户端:

在服务器端:

现在,如果我只是这样做:

所以只有匿名密码套件被启用,我得到:

谢谢