在我的免费试用帐户(cvtf1)上,我有一个关键商店,因为许多个月都使用自签名证书。我今天尝试通过上传客户端密钥和证书来创建一个新的密钥库(Bca ...)。但上传失败的原因是: 上传密钥
{
"code" : "messaging.config.beans.CertNotFound",
"message" : "Cert with name : /tmp/extract6784335744378261087.tmp/myCert.pem not found in key store : {1} in env : {2}",
"contexts" : [ ]
}
请注意,我已检查过JAR上传是否有效。如果我通过应用程序使用相同的进程(和名称)替换我的新证书+密钥,那么它可以正常工作。
差异在证书中:
旧的工作正常:
Public Key Algorithm: rsaEncryption - Public-Key: (1024 bit)
Signature Algorithm: sha1WithRSAEncryption
Valid for ten years
新的 - 失败:
Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage: critical
TLS Web Client Authentication
Signature Algorithm: sha256WithRSAEncryption
Valid for one day
我尊重2048位的限制。它有什么理由失败吗?
另一个问题:您是否支持Apigee Proxy和目标端点之间的TLS 1.2?
提前感谢您的回复。
此致
R
答案 0 :(得分:1)
Apigee Edge支持最大2048位的密钥大小。
您是否可以执行以下openssl命令来验证证书的md5和密钥是否相同:
openssl x509 -noout -modulus -in certificate.crt | MD5 openssl rsa -noout -modulus -in privateKey.key | MD5
如果md5相同,那么密钥属于证书。
答案 1 :(得分:1)
Apigee Edge目前使用的Java 6不支持TLS 1.2。确认这一点的最佳方法是使用新证书尝试TLSv1。
答案 2 :(得分:1)
在“jar”里面的descriptor.properties中你只指定了证书文件名或完整路径吗?您是否可以仅指定证书和私钥文件名而不指定路径?
亲切的问候,
PB
答案 3 :(得分:0)
对所有人: - 在jar中:2个文件=>证书和密钥 - 文件是myCert.pem和myKey.pem(在META INF / Descriptor中指定) - 当使用1024大小时,构建的存档可以正常使用cert和key(所以我相信我的构建过程是有效的) - 对于证书/密钥md5唯一性:有效。我经常检查(openssl x509 -noout -modulus -in myCert.pem | openssl md5; openssl rsa -noout -modulus -in myKey.pem | openssl md5)| uniq的 - 感谢有关TLS1.2的答案。
似乎问题是关于上传cert文件的问题。当我上传这样的证书时,由于对证书TTL的约束(一天),是否可以“提取”?
此致
R
答案 4 :(得分:0)
主题已关闭 - 发现问题 - 带有OID的扩展属性为长整数是根本原因