- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我从 CA 得到了 4 个 .crt
文件,如下所示,
AddTrustExternalCARoot.crt
COMODORSADomainValidationSecureServerCA.crt
COMODORSAAddTrustCA.crt
demo_site_domain.crt
第二个和第三个是中级证书。我想将 .crt 文件导入 wso2carbon.jks 存储并将其替换为记录在案的 wso2 服务器的现有 jks here .我的问题是,文档需要 wso2carbon
作为别名,但我只能使用该别名导入一个证书,因此我应该导入哪个 .crt 文件?或者我应该导入一个由以上四个 crt 文件创建的复合 .crt 文件(这可能吗?)我尝试使用 AddTrustExternalCARoot.crt
和 demo_site_domain.crt
但在 wso2 服务器中设置 .jks 文件后,服务器 url 出现以下错误,
Secure Connection Failed
The connection to ip:port was interrupted while the page was loading.
The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
Please contact the website owners to inform them of this problem.
我在这里做错了什么?
我正在使用的 wso2 服务器是 WSO2 UES
我必须将密码放在以下四个文件中以克服 Caused by: java.io.IOException: Keystore was tampered with , 或密码不正确
错误。
repository/conf/security/cipher-text.properties
repository/conf/identity.xml
repository/conf/carbon.xml
repository/conf/tomcat/catalina-server.xml
更新:
我遵循给出的答案,但最后一条命令没有给出 installed in keystore
而是 Certificate was added to keystore
以下是我的命令和回复,
keytool -importcert -keystore wso2carbon.jks -file AddTrustExternalCARoot.crt -alias commoroot -trustcacerts
输入 keystore 密码:
重新输入新的密码:别名下的证书已存在于系统范围的 CA keystore 中你还想把它添加到你自己的 keystore 吗? [否]:是证书已添加到 keystore
keytool -importcert -keystore wso2carbon.jks -file COMODORSAAddTrustCA.crt -alias commointermediate1
输入 keystore 密码:
证书已添加到 keystore
keytool -importcert -keystore wso2carbon.jks -file COMODORSADomainValidationSecureServerCA.crt -alias commointermediate2
输入 keystore 密码:
证书已添加到 keystore
keytool -importcert -keystore wso2carbon.jks -file demo_site_domain.crt -alias wso2carbon
输入 keystore 密码:
证书已添加到 keystore
最佳答案
(Meta:我很确定这是重复的,但我找不到合适的。无论如何都要回答。)
That page似乎缺少 keytool
命令行选项和 PEM 文件格式所需的所有破折号;假设您已经纠正了这一点:
在第 3 项中,它说“您可能必须导入任何中间证书......然后才能导入您的 [CA-] 签名证书”。事实上,你知道。有两种方法可以做到这一点:
1:导入每个证书除了您的服务器(或其他终端实体)证书,从上到下,到 keystore 中的单独条目;对于你的情况:
keytool -importcert -keystore wso2carbon.jks -file AddTrustExternalCARoot -alias somealias1 -trustcacerts
keytool -importcert -keystore wso2carbon.jks -file COMODORSAAddTrustCA.crt -alias somealias2
keytool -importcert -keystore wso2carbon.jks -file COMODORSADomainValidationSecureServerCA.crt -alias somealias3
其中 somealias{1,2,3}
是彼此不同的别名,并且不同于 keystore 中已有的任何别名,尤其是 wso2carbon
。 (编辑)(弄清楚如何正确格式化代码行)
然后将您的服务器证书导入到同一 keystore 文件中的(编辑)相同别名,其中 -genkeypair
和 - certreq
先前完成(或者替代为别名,该别名是 先前创建 的 PrivateKey 条目的副本在此 keystore 中通过 -genkeypair
和 -certreq
):keytool -importcert -keystore wso2carbon.jks -file demo_site_domain.crt -alias wso2carbon
这个(最后)步骤应该说Certificate reply was installed in keystore
NOT Certificate was added to keystore
。否则它实际上失败了,即使它没有给出错误消息。
2:将所有证书连接到一个文件中,首先是服务器 (EE) 证书,然后将该组合文件导入到(编辑)使用的同一 keystore 文件中的相同别名较早的(或该私钥条目的副本):
# assuming any kind of Unix
cat demo_site_domain.crt COMODORSADomainValidationSecureServerCA.crt \
COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt >combinedfile
# if Windows use copy a+b+etc or (for PEM) cut&paste in a plaintext editor like Notepad
keytool -importcert -keystore wso2carbon.jks -file combinedfile -alias wso2carbon -trustcacerts
除第一个之外的证书顺序实际上并不重要在这里,但它们将存储在 keystore 中并以“向上”顺序用于 SSL/TLS 协议(protocol),所以我使用cat
中的顺序是为了保持一致性和清晰度。
(编辑) 如果在任何时候对给定 keystore 文件中有或没有的条目有任何疑问,您可以使用 keytool -list -v - 列出它们 keystore 文件名
。您使用 -genkeypair
生成的任何条目都是一个 PrivateKey
条目,并且将包含 either keytool< 自动生成的自签名证书
或您从 CA 获得的带有链的证书。显示格式相当杂乱,可能会造成混淆,但请查找像 Certificate[1]:
Certificate[2]:
等行,紧接着是 Owner:
(在标准术语中表示 Subject)和 Issuer:
。另一方面,您单独导入的每个 CA 根证书或中间证书将是一个仅包含该证书的 trustedCert
条目。
该页面还说您需要将“签名证书”导入 client-truststore.jks
。我相信那是错误的。您通常需要在任何客户端信任库中放置一个自签名证书,但您不需要为由知名 CA 签名的证书执行此操作,Comodo/Addtrust 是.但是,向信任库添加不必要但有效的证书没有什么坏处。
关于ssl - 将 CA 签名证书导入 JKS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31948701/
我正在尝试在 Java 中执行此操作,但我认为这是一个一般证书问题。我有一个根CA,一个由根CA颁发的中间CA1,一个由中间CA1颁发的中间CA2,以及一个由中间CA2颁发的证书。 rootCA ->
编辑 1:https://security.stackexchange.com/questions/83972/trust-ca-and-parent-ca-but-not-other-derivat
我正在使用“任何?” block 中的方法。该片段正在字符串中查找字符串“CA”(拆分)检查: region="CA" check="AU,US,UK,CA,ZA" if check.split(',
我有一个SpringBoot应用程序,它使用以下配置与PostgreSQL通信,通过AWS Beanstrik部署:。在我将AWS Aurora证书更新为rds-ca-ecc384-g1之前,一切都很
我们正在使用我们现有的 CA 进行 freeipa 安装。在安装过程中,会生成 CSR,并且必须由 CA 签名才能创建证书。这个证书必须有 X509v3 Basic Constraints: CA:T
我正在尝试导出客户端证书以供网络浏览器使用。 目标是使用 指令限制对管理区域的访问。我看过很多关于使用自签名 CA 的教程。你会如何使用第三方来做到这一点? 1) 如果它是受信任的根 CA,我是否需要
我已经设法弄清楚 x509Certificate2Collection 中的证书是否是证书颁发机构证书,但我如何才能安全地确定它是根证书还是中间证书?以下是否足够安全? var collection
我使用 fabric-ca-sdk(fabric-sdk-java/fabric-sdk-java/src/test/fixture/sdkintegration) 中的测试代码启动 ca 服务器。并
环境: Red Hat Enterprise Linux Server release 7.7 (Maipo) # openssl version OpenSSL 1.0.2g 1 Mar 2016
导出 K8s 集群 CA 证书和 CA 私钥 团队,我有一个 Kubernetes 集群正在运行。我将一次又一次地删除和创建它,所以我想一直重复使用相同的 CA 证书,我需要保存 CA 证书和 key
我正在编写一个自定义客户端和服务器,我想通过公共(public) Internet 安全地进行通信,因此我想使用 OpenSSL 并让两端进行对等验证以确保我的客户端不会被 MITM 误导,同样,未经
问题: 我想构建一个 docker 容器 FROM:ubuntu:20.04但我无法访问外部互联网 我在内部网络上有一个 apt 镜像,可以使用 apt 镜像位于 https 后面,带有自定义证书 我
Linux 的新手,正在尝试了解更多,我遇到了这种情况。 我已经尝试使用 ps 命令并使用 grep 来捕获“ca”,但它会返回每次出现的“ca”,无论它来自什么,它实际上对我没有帮助。 我已经尝试过
我正在尝试在我的 .NET 应用程序和我安装了第三方根 CA 证书和中间 CA 证书的网站之间建立 TLS 连接: ServicePointManager.SecurityProtocol = Sec
SSL 证书永远不会让我眼花缭乱。我有一个网络应用程序,它从合作伙伴那里对另一项服务进行休息调用以获取某些数据。他们使用为公司生成的自签名或内部 CA。问题是每当另一端更新 SSL 证书时,我的应用程
我正在开发一个带有证书固定的移动应用程序。我将在 DMZ 中有一个盒子来代理我的请求。该服务器是否应该拥有来自可信 CA 的证书,还是我可以使用我自己的 CA 生成的证书? 从移动客户端使用受信任的
有没有人设法将 CA 证书安装到 activemq 实例中?我一直在进行谷歌搜索并阅读 activemq 文档,但我没有找到任何关于如何在 activemq 中使用预先存在的 CA 证书的信息。 我假
openssl ca 和 openssl x509 命令有什么区别?我正在使用它来创建和签署我的 root-ca、intermed-ca 和客户端证书,但是 openssl ca 命令不会在证书上注册
在 keystore 中创建私钥和自签名证书 keytool -genkey -alias mydomain -keystore mydomain.ks -dname cn=mydomain.com
我的 Raspberry Pi 3 出了点问题。我不得不运行 fsck.ext3,但是很多包都损坏了,例如 python 等。现在,ca-certificates 不会重新安装。每当它运行 updat
我是一名优秀的程序员,十分优秀!