我有一个PEM文件提供给我,并被告知在建立一个连接到c ++服务器以进行某些API调用的SSL套接字时需要它.有谁知道如何在PEM文件中读取并连接?我也被给了parapharse密码.
我必须将pem格式的证书转换为java密钥库.
在Windows服务器上使用这个tomcat
我有这些文件:
cert_request.csr
-----BEGIN CERTIFICATE REQUEST-----
...
-----END CERTIFICATE REQUEST-----
Run Code Online (Sandbox Code Playgroud)cert_public_key.pem
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)cert_private_key.pem
-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)cert.txt
contains an 16 digit key
Run Code Online (Sandbox Code Playgroud)我试图结合pem文件(通过将两个文件组合在一起链接在一起)并将其与openssl转换成一个
我也试着改变了
-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
成
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
并尝试了以上3种方式
我有什么办法可以获得工作证书?
编辑:
我将cert_public_key.pem和cert_private_key.pem组合到cert_comb.pem
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用OSGi条件权限机制.更具体地说,我正在尝试使用org.osgi.service.condpermadmin.BundleSignerCondition来限制可以启动哪些包.文档我已声明为了使用此权限,我必须使用org.osgi.framework.trust.repositories框架配置属性指定JKS密钥库的路径.但是,相同的文档提到此属性中提到的JKS必须没有密码.所以问题是:如何在没有密码的情况下创建JKS?Keytool实用程序拒绝使用空密码创建JKS.
在将密钥库的类型从PKCS12更改为JKS后,我遇到了获取相同指纹的问题.
为了进行更改,我创建了一个新的JKS密钥库,删除了其中的密钥,并从.p12文件中导入了我需要的密钥.用keytool -keystore keystore.jks -list
它验证密钥时输出指纹:
(SHA1): 21: ... :39
Run Code Online (Sandbox Code Playgroud)
这是.p12文件的指纹,指纹谷歌说我以前的apks已经.当我用这个证书签署我的apk并尝试将其上传到Playstore时,它说证书有指纹:
SHA1: C7: ... :AF
Run Code Online (Sandbox Code Playgroud)
当我用KeyStore Explorer检查原始的.p12文件和新的.jks文件时,它们都SHA1: C7: ... :AF列为指纹.
EDIT1:
keytool -keystore disneyquiz.p12 -storetype PKCS12 -alias 1 -list
Enter keystore password:
1, Jun 4, 2014, PrivateKeyEntry,
Certificate fingerprint (SHA1): 21: ... :39
keytool -keystore quizstore.jks -list
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
key0, Dec 3, 2014, PrivateKeyEntry,
Certificate fingerprint (SHA1): 21: ... :39
Run Code Online (Sandbox Code Playgroud)
新的Apk
keytool -printcert -file CERT.RSA …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 Kafka 服务器上启用 SSL 身份验证。我正在关注Kafka 文档中的 7.2 部分。
遵循所有步骤,但在调用 producer.bat 文件将数据发送到主题时,我收到以下错误。
错误[Producer clientId=console-producer] 连接到节点 -1 的身份验证失败,原因是:SSL 握手失败 (org.apache.kafka.clients.NetworkClient)
引起: java.security.cert.CertificateException:找不到与本地主机匹配的名称
我确实用CN=localhost.
我想知道是否存在Java中使用的JKS密钥库格式的官方规范?我想从/到PKCS#12编写一个转换器,但不是用Java编写,因此不幸的是,keytool或Java代码不是一个选项.
在十六进制编辑器中查看一个告诉我它可能不是ASN.1.在我开始深入研究OpenJDK之前,尝试对格式进行逆向工程,有没有人知道是否存在规范?到目前为止我找不到任何东西,任何帮助都会非常感激!
我正在尝试使用keytool将x.PFX文件转换为x.JKS文件,但我收到以下错误:
keytool error: java.lang.Exception: Alias <2> does not exist
Run Code Online (Sandbox Code Playgroud)
此错误之前的操作是:
列出x.PFX文件内容(只是为了读取别名):
keytool -v -list -storetype pkcs12 -keystore x.pfx
Enter keystore password: x
Keystore type: PKCS12
Keystore provider: SunJSSE
Your keystore contains 1 entry
Alias name: 2
Creation date: 11-nov-2012
Entry type: PrivateKeyEntry
Certificate chain length: 3
Certificate[1]:
Owner: CN=x, OU=x, C=x
Issuer: CN=x, O=x, C=x
Serial number: x
Valid from: Wed Oct 24 11:46:10 CEST 2012 until: Fri Dec 13 09:28:40 CET 2013
Certificate fingerprints:
etc.
Run Code Online (Sandbox Code Playgroud)
使用"2"将x.PFX文件转换为x.JKS文件作为源别名
keytool -importkeystore -srckeystore …Run Code Online (Sandbox Code Playgroud) 我正在更新我的 Hadoop 集群使用的证书。当前 JKS 有一个条目:
Your keystore contains 1 entry
Alias name: myalias
Creation date: Jan 10, 2019
Entry type: PrivateKeyEntry
Certificate chain length: 1
Run Code Online (Sandbox Code Playgroud)
我正在尝试从新证书创建一个新的密钥库:
keytool -importcert -alias myalias -file newcertfile.crt -keystore newkeystore.jks
Run Code Online (Sandbox Code Playgroud)
但是我被问到我是否信任这个证书(如果我说不,keytool 退出):
Trust this certificate? [no]: yes
Run Code Online (Sandbox Code Playgroud)
当我查看结果时,它不再是 PrivateKeyEntry 而是trustedCertEntry:
keytool -list -v -keystore newkeystore.jks
...
...
Your keystore contains 1 entry
Alias name: myalias
Creation date: Feb 20, 2019
Entry type: trustedCertEntry
...
...
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?我应该只使用带有trustedCertEntry 的JKS 还是有办法让它像旧的JKS(带有PrivateKeyEntry)一样?
我正在使用下面的代码片段将数据从Hive连接并加载到elasticsearch(v 6.2),没有任何问题
ADD JAR file:///<>/elasticsearch-hadoop-hive-6.2.2.jar;
ADD FILE file:///<>/mycerts.jks;
CREATE EXTERNAL TABLE if not exists my_db.my_es_table
(
col1 int,
col2 string,
col3 string,
col4 timestamp,
key_id string
)
COMMENT 'data into ES'
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES('es.resource' = 'index1/type1',
'es.index.auto.create'='true',
'es.nodes'='<vip_name>',
'es.port'='9200',
'es.net.http.auth.user'='<user>',
'es.net.http.auth.pass'='pwd',
'es.net.ssl.protocol'='SSL',
'es.net.ssl'='TRUE',
'es.net.ssl.truststore.location'='mycerts.jks',
'es.net.ssl.truststore.pass'='<pwd>',
'es.mapping.id'='key_id'
);
INSERT OVERWRITE TABLE my_db.my_es_table
SELECT
col1,
col2,
col3,
col4,
key_id
FROM my_db.stagging_data;
Run Code Online (Sandbox Code Playgroud)
但是,当试图将同一块迁移到py-spark时,它会抛出异常
org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Expected to find keystore file at [file:///<path>/mycerts.jks] but was unable to. Make sure that it is available on …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个基本的JWT生成器,但需要在几个方面提供建议.我一直在使用JWT.io的指南和auth0/java-jwt库/ repo来生成令牌.
JWT正在使用2个不同的密钥进行签名.
使用RSA512算法使用4096位密钥对刷新令牌进行签名.
.sign(Algorithm.RSA512(rsaPublicKey, rsaPrivateKey));
Run Code Online (Sandbox Code Playgroud)
通过RSA256算法使用1024位RSA密钥对访问令牌进行签名.
.sign(Algorithm.RSA256(rsaPublicKey, rsaPrivateKey));
Run Code Online (Sandbox Code Playgroud)
由于4096位验证过程需要更长的时间,因此我对"速度"的建议已经采用了这一点,但似乎对刷新令牌的请求较少,安全性的权衡似乎是公平的.
另一方面,访问令牌在资源服务器端点进行验证,并且它们被更频繁地发送,因此我选择了更短(256)的签名,该签名使用更快的1024位密钥进行.
我知道钥匙"几乎"不可能破坏......但建议使用钥匙旋转?
我将jks(密钥库)保存在auth服务器和资源服务器上的私有文件夹中.密钥库包含2个密钥对,一个用于刷新令牌签名/验证,另一个用于访问令牌签名/验证.
我需要刷新/形成新密钥吗?如果是这样......多久一次?建议的方法是什么?
在负载均衡器后面可以有多个auth和资源微服务实例...因此RAM生成的密钥是否为,因为它们不会在实例之间传播.
我已经看过可能有一个"密钥服务器",可以说创建新密钥并将它们附加到密钥库并将新的jks文件更新为新的密钥对...类似于:

因此,例如,每隔15秒,EC2 auth服务器和资源服务器ping密钥服务器,请求当前jks的副本(和版本检查).
有什么建议?
谢谢!
jks ×10
certificate ×4
ssl ×4
java ×3
keytool ×2
pem ×2
security ×2
android ×1
apache-kafka ×1
apache-spark ×1
file-format ×1
flash-cc ×1
hadoop ×1
jwt ×1
keystore ×1
osgi ×1
pfx ×1
pyspark ×1
python ×1
token ×1