问题标签 [jks]
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.
code-signing - JKS、CER、SignCode 问题
目前,我有一个关于使用 Microsoft 的 SignCode 工具和证书(来自 GlobalSign)签署 EXE 文件的有趣问题......
因此,我们购买了新证书,因为当前证书将在短时间内到期。原始格式为 JKS。我将此证书从 .JKS 导出到 .CER,以便我可以在根受信任证书部分的本地计算机上安装。我已经安装了它,如果我打开 certmgr.msc 我可以看到它,但是如果我打开控制面板 -> Internet 选项 -> 内容 -> 证书 -> 根受信任的证书等,那么我看不到它.. . 我想它也应该在这里。
当我运行 signcode.exe 工具时,我收到“无法使用正确的私钥打开 csp 提供程序”错误消息。
笔记!signcode.exe 命令是正确的,因为如果我使用旧证书进行测试,它就可以工作。
请指教。
先感谢您!哔叽
java - 如何使用 AES 加密创建 Java 密钥库 (.jks) 文件
阅读 Oracle 文档,我看到默认情况下 JKS 文件使用PBEWithMD5AndTripleDES
. 虽然单独的DES让我感到不安,但MD5点亮了一个大红灯。我想使用PBEWithSHA256And256BitAES-CBC-BC
或PBEWithSHA256And128bitAES-CBC-BC
加密私钥。
我是否必须编写新的 Cryptography Service Provider 来实现整个 KeyStore 接口,或者是否可以对 KeyStore 的创建进行参数化(使用纯 java 或 BouncyCastle)?
编辑: 一点背景。
我知道 3DES 没有损坏,就像 MD5 用作 KDF(或在 PBE 中)一样。问题是,这就是现在的情况。据我们所知,MD5可能会被打破到明天MD4被打破的水平。我的应用程序寿命至少为 10 年,而且很可能更长。不知何故,在这 10 年之后,我没有看到人们仅仅因为它可能不安全而深入研究工作加密代码。只需查看密码泄露的最后几起重大“事故”,看看发生这种情况的可能性有多大,这对于任何看到原始数据库的人来说都是显而易见的事情。
话虽这么说:NSA 加密套件 B 只允许使用 AES 进行任何类型的对称加密。NIST 仅列出 HMAC 和 KDF 使用的 SHA-1 和 SHA-2 算法,而不推荐使用 SHA-1 。Suite B 仅允许使用SHA-2 哈希函数。这些算法是公开可用的,那么我为什么不应该使用它们呢?
java - Curl cacert to Java HttpClient equivalent
I wonder if I am able to make a connection using curl like the following command,
curl --cacert some.pem https://someurl.com/resource
How do I convert this to httpclient code? I understands I need to convert the pem file and create a new keystore, etc. But all these openssl, keytool commands, keystore, truststore confuses me, I don't know which one to use and in which order.
java - Tomcat / JKS / Keytool - 重新生成私钥?
是否可以使用 keytool 或等效工具在 .JKS 密钥库中重新生成私钥?
我已获得证书和 JKS 密钥库,但在导入证书时,用于生成 CSR 的私钥似乎已被删除。
我可以看到如何使用新的私钥创建新的密钥库,但这与 CSR 或证书不匹配。
java - 使用基于 Java Key Store 中的别名的单个证书
我有一个密钥库,其中添加了多个密钥和证书我想使用基于密钥库别名的证书并将其用于 SSL 我尝试设置以下系统属性但没有任何帮助
它总是使用密钥库中的第一个证书,而不是匹配密钥别名
java - 从没有 storepass 的 Java Key Store 导出没有 keypass 的私钥
我有一个没有 storepass 的 JKS 密钥库,其中包含一个没有 keypass 的私钥。
- 我不能使用这个商店和这个密钥来使用例如交互签名
jarsigner
(它不允许空的keypass), - 并且所有自动化都因要求存储通行证或密钥通行证或两者兼而有之而失败。
但是私钥在密钥库中。
我所有尝试提取密钥的尝试keytool
都失败了,所有尝试使用密码保护密钥或密钥库的尝试也都失败了,这都是由于不通行证。GUI 和其他操作密钥库的工具也是如此。我猜这是因为 storepassless 商店中的 keypassless 密钥不再受支持,或者可能从来没有。
但我猜在java.security.KeyStore
命名空间或其他地方有代码可以让我使用 Java 代码导出私钥。有谁确切知道,如果是这样,可以指出我正确的方向,因为我对此的经验为零?
certificate - PFX 到 JKS 密钥工具的转换:别名 <*> 不存在
我正在尝试使用 keytool 将 x.PFX 文件转换为 x.JKS 文件,但出现以下错误:
此错误之前的操作是:
列出 x.PFX 文件内容(只是为了读取别名):
使用“2”作为源别名将 x.PFX 文件转换为 x.JKS 文件
我不确定我做错了什么?PFX 文件仅包含一个条目和一个别名 (2)。我还尝试使用这些 srcalias 值:2、“2”、“2”。有没有其他方法可以在不知道源别名的情况下使用 keytool 将 PFX 转换为 JKS?
java - java SSL Connect 在 curl -E 成功时获得 403
这个问题类似于How to use PEM file to create a SSL socket in Java? 但是,我似乎无法从该问题中获得建议的解决方案。我曾经能够连接到 .Net Web 服务,但现在他们已经通过证书实现了 SLL,我无法再访问它。服务器团队为我提供了一个证书,使我能够再次连接到 Web 服务。我已经确认这是使用 curl 工作的:
所以,上面正确地返回了 wsdl。我必须为 curl 调用创建 .cacert.pem 文件才能正常工作,以避免出现此消息(curl:(77)错误设置证书验证位置):
现在,当我尝试使用下面的 Java 时,我仍然得到 403。我想知道是否有人能发现我做错了什么?
以下是我用来创建信任库和密钥库的步骤。将 cer_file.pem 分解为单独的 cert.pem 和 key.pem。然后使用以下链接http://www.agentbob.info/agentbob/79-AB.html中的说明,我创建了 client_side_keystore.jks。然后我通过使用http://code.google.com/p/java-keyutil/上的实用程序将 curl 证书文件导入 jks 来创建信任库
不幸的是,当我尝试通过 java 测试类读取 wsdl 时,我得到一个 403。当它通过 curl 调用工作时。我怀疑我在做一些愚蠢的事情,或者误解了某些事情。但我想知道是否有人能指出我正确的方向?
java - WS-Security:使用axis2/rampart验证证书链
我尝试对用 Java/Axis2 编写的肥皂服务器和客户端之间的通信进行加密和签名。加密有效,但是当我从 java 密钥库中删除根证书时,没有任何改变。如果没有根证书,就无法验证服务器和客户端的证书。似乎壁垒不关心证书链,因为没有错误消息。但是如果没有根证书,肯定会出现错误消息!
我是否必须以特殊方式配置 java 密钥库?它注意到,商店中已经存在一个根证书,因为当我从 openssl 的链中导入一个 normel 证书时,一切正常,并且没有诸如:你想信任新证书之类的问题吗?
还是我必须配置壁垒来测试认证链?
java - 从密钥库加载证书
我有一个 Base-64 编码的 X.509 (.CER) 证书,它在下面的 java 代码中导致 NullPointerException。导致它的行是PublicKey pubKey = pubCert.getPublicKey();
有没有办法验证 myfile.keystore 是否具有“xyz”证书?