- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有小型 java 客户端,它使用快速修复库连接 bloomberg 提要。这基本上是使用修复协议(protocol)。应用程序运行良好,但最近 ssl 证书已过期,bloomberg 发送了新的 key.pem、certificate.pem 文件和 CACert.pem 文件。应用程序正在使用 java 证书存储进行 ssl hanshaking。所以我尝试了以下步骤来删除 keystore 并使用新 key 恢复 keystore 。
rm -rf /root/keystore.ImportKey
openssl pkcs8 -topk8 -nocrypt -in key.pem -inform PEM -out key.der -outform DER
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
user@host:# java ImportKey key.der cert.der
Using keystore-file : /root/keystore.ImportKey
One certificate, no chain.
Key and certificate stored.
Alias:importkey Password:importkey
./keytool -import -keystore /root/keystore.ImportKey -storepass importkey -alias cacertificates -file /etc/bloomburg-live/CAcert.pem
user@host:# ./keytool -list -keystore /root/keystore.ImportKey
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 2 entries
cacertificates, Jun 15, 2016, trustedCertEntry,
Certificate fingerprint (MD5): 30:23:CE:0A:57:FB:71:04:8F:D2:3F:CD:89:A6:46:11
importkey, Jun 15, 2016, PrivateKeyEntry,
Certificate fingerprint (MD5): 00:19:35:14:3F:14:31:4D:99:83:F5:34:09:3D:C8:BD
CA 验证仍然失败。有什么我错过或。有什么不同的方法可以解决这个问题。请帮助我,我目前被困在这里。
更新尝试以下命令后
openssl s_client -connect host:port -key key.pem -cert certificate.pem -CAfile CAcert.pem
我收到以下错误消息。
error setting private key 5265:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:398:
执行openssl pubout命令后请查看结果。
openssl rsa -in key.pem -pubout
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6dMX7GxbEtAmdQarwHXQ d46c7oSrSjATTd1/KHvS7KojHZV9XE3d4Foh1rP1czla6uxMV5p0jSPq4RzWOZlY i8TzJMXPhz9onDPUErTmkKB1cYvzdYUjuAan4KduB/OWP+ubUS24DTZ+/RJ7SUX/ /UOcWgg232sc/sg9pcyysCRMXJUsPe5a94ztboOWr987+dnjl/t1atNRCvVObkqG Fq6pmsKKjTR0Cl1i5wFK8G8cak/cnGABhnmCBEP6v5udzgTt8QOSqg0Mb3TyhXia MnhA7SBc7cu6NEsizxLMM34G+thDxg/s0RobuBirz5KZl3GC1KgR50Ggm//5/vJv uwIDAQAB -----END PUBLIC KEY-----
在已接受的答案之后添加。请找到我在戴夫的回答中发表的最后评论。这是解决此问题的更多内容和详细信息。
最佳答案
Meta:不是一个明确或完整的答案,但评论太多。
好的,openssl s_client
显示您的 key 和您的(声称的)证书不匹配。您需要弄清楚是否真的存在不匹配,或者您的数据只是结构异常。
查看 certificate.pem
文件,通常使用 more
或 less
这样的分页器,因为它可能很长;它应该包含至少一行(每行):
-----BEGIN CERTIFICATE-----
行开始,可能插入了 X.509
; +
和斜线 /
组成,通常还有等号 =
最后;和-----END CERTIFICATE-----
可能还有 X.509
。 每个 block 都是一个证书。在这些 block 之前、之间或之后可能还有其他数据可能有用(例如“友好” name' 或 'key id') 或者可能是无用的甚至是垃圾。如果有 -----BEGIN
和 base64 和 -----END
的任何 block 不是用于 [X.509] CERTIFICATE
,有些事情真的搞砸了;发布详细信息。
如果只有一个证书(并且它与 key 不匹配),则您获得的数据是错误的。回到源头,让他们修复它。 Java 标准 keytool
阻止您将不匹配的证书与私钥放在一起,但是 ImportKey
不是标准的,我不知道它的作用。
如果有多个证书,最简单的方法就是让openssl尝试去整理。做
openssl pkcs12 -export -in certificate.pem -inkey key.pem -out temp.p12
# and type (twice) a suitable password, at least 6 characters
如果显示没有证书匹配私钥
,则您的certificate.pem
文件有误或已损坏,因此无法使用。要么发布它让我们尝试弄清楚,最好使用您的私钥的公共(public)部分,即openssl rsa -in key.pem -pubout
,或者返回你的来源。
如果 pkcs12 -export
成功,那么您的 certificate.pem
确实包含必要的证书,只是不是按照 s_client
要求的常规顺序,并且您使用的过程也隐含地需要。现在你可以简单地将 p12 转换为 JKS
keytool -importkeystore -srcstore temp.p12 -srcstoretype pkcs12 -deststore good.jks
如果您需要在 keystore 中使用他们的 CACert,请对该文件执行 keytool -import -file CAcert.pem
步骤。使用结果。
关于java - 启用 CA 认证握手到 java 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37915298/
我想知道如何首先检测 Javascript 是否启用/禁用。在此站点上禁用 javascript 表明 stackoverflow 使用了称为标签的东西。 这是标准的做法吗?它适用于所有浏览器吗?它不
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How to enable PHP short tags ? Enable short open tags
在 VSTS (Azure DevOps) 上拥有私有(private)存储库我尝试通过将以下内容添加到 .csproj 文件来启用 SourceLink:https://github.com/dot
我创建了一个 wx.Frame(我们称之为 mainFrame)。该框架上包含一个按钮,当单击该按钮时,会创建一个新框架(我们称之为 childFrame)。 我想知道如何在创建 childFrame
当我禁用 WPF 中的控件时,比如说一个菜单项 MenuItem aMenuItem = ... aMenuItem.IsEnabled = false; MenuItem 中的文本仍然处于事件状态,
我想在我的 nginx 服务器上启用 gzip 压缩。 nginx.conf 文件在这里: http { # Enable Gzip server { location ~* \.(?
我正在使用免费的 heroku 附加 PG 备份并遵循这些 instructions .我找到了安装应用程序的命令:heroku addons:add pgbackups:auto-week。但是我想
我想知道脚本是否可以使用某种切换按钮启用/禁用页面上的所有输入元素。 我用谷歌搜索了它,但除了这个之外没有发现任何有用的东西: http://www.codetoad.com/javascript/e
在我的 php 文件中,我想使用 jQuery Datepicker。 当我的文件加载时,我创建了禁用的日期选择器。 然后,当我的 php 文件(它是一个表单)中的一个特殊字段被填充时,我想启用日期选
我有一个按钮,如下所示: RadButton lnkAdd = new RadButton(); lnkAdd.ID = "BtnAdd"; lnkAdd.CommandName = RadGrid.
public static void ToggleTaskManager(string keyValue) { RegistryKey objRegistryK
我正在 Azure 中使用事件网格订阅,该订阅在创建 Blob 时触发。然而,我们有很多文件进入这个 blob,比如说 1000 多个。 如果我发现任何文件有任何错误,我想做的是禁用事件订阅。 最佳答
我的网站上有几个使用 HTML5 contentEditable 属性的 div。目标是让用户能够开始编写日记条目,并将保存按钮从禁用更改为启用。 这是我目前拥有的 HTML: Write
我有一个范围输入,其定义如下: @Html.LabelFor(m => Model.Quality, Resources.CompressionQuality) 和一个下拉菜单: @Html.Lab
我正在尝试创建一个启用/禁用按钮的下拉菜单,并且我正在关注此 example 但它已经有 4 年历史了,而且该功能似乎无法在我的 xhtml 页面上运行。 任何帮助都将被适当 最佳答案 这是一个现场演
我正在 Azure 中使用事件网格订阅,该订阅在创建 Blob 时触发。然而,我们有很多文件进入这个 blob,比如说 1000 多个。 如果我发现任何文件有任何错误,我想做的是禁用事件订阅。 最佳答
我在这里遇到一个非常奇怪的情况:我编写了一个应用程序,除其他外,将连接的代理从打开切换到关闭,反之亦然。通过更改注册表中的值来完成此操作: public void SetUpProxy(string
我需要调整一堆 PVC 的大小。似乎最简单的方法是通过ExpandPersistentVolumes 功能。但是我无法获得配置合作。 ExpandPersistentVolumes feature g
如果我的TextField为空,则应禁用该按钮,并且该按钮的textColor和borderColor应该为灰色。但是,启用按钮后,颜色应为蓝色。 更改textColor很容易: button.Set
您好,我的问题是:我无法从另一个类启用表单的按钮。我的表单类是 public class FileSending { //Function for enabling the button
我是一名优秀的程序员,十分优秀!