标签: keytool

如何创建 PKCS12 密钥库?

我想用 Java 生成 PKCS12 密钥库。我知道我可以将 keytool 与类似的东西一起使用:

keytool -genkeypair -alias senderKeyPair -keyalg RSA -keysize 2048 \
  -dname "CN=Baeldung" -validity 365 -storetype PKCS12 \
  -keystore sender_keystore.p12 -storepass changeit
Run Code Online (Sandbox Code Playgroud)

但我需要在 Java 内部做这些事情。我已经搜索过是否可能,但没有找到任何相关信息。任何想法?

我非常感谢您提供的任何帮助。

java keystore keytool pkcs#12

1
推荐指数
1
解决办法
1万
查看次数

带客户端身份验证的 SSL 套接字连接

我有一个运行一些实用命令的应用程序服务器,这些命令是用 C 语言编写的。我必须使用具有客户端身份验证的 Java SSL 套接字通过 Java 客户端程序连接到服务器。服务器端的密钥是使用以下命令创建的:

   openssl req -new -text -out ser.req
   openssl rsa -in privkey.pem -out ser.key
   openssl req -x509 -in ser.req -text -key ser.key -out ser.crt
Run Code Online (Sandbox Code Playgroud)

我已获得服务器密钥和证书。我已将密钥和证书组合成 PKCS12 格式文件:

openssl pkcs12 -inkey ser.key -in ser.crt -export -out ser.pkcs12

然后使用 keytool 将生成的 PKCS12 文件加载到 JSSE 密钥库中:

keytool -importkeystore -srckeystore ser.pkcs12 -srcstoretype PKCS12 -destkeystore ser.keystore

但是当我尝试连接时,出现以下错误:

javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.ssl.Alert.createSSLException(Alert.java:131)
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
    at …
Run Code Online (Sandbox Code Playgroud)

java ssl openssl keytool

1
推荐指数
1
解决办法
3365
查看次数

Apache CXF JaxWsProxyFactoryBean SSL 配置调用外部 https 失败

我部署了一个 Spring 微服务 docker。我使用 JaxWsProxyFactoryBean 调用外部服务器 (soap/wsdl),并且使用 http://externalServer 一切顺利:

JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
jaxWsProxyFactoryBean.setAddress("http://externalServer");
...
Run Code Online (Sandbox Code Playgroud)

当我在 setAddress 中调用 https 时,问题就出现了。

我使用 keytool 在密钥库中注册了被调用服务器的密钥/证书,并将其保存到 /root/.keystore (标准),并从 pfx 导入它。当我尝试调用 https 时,出现此错误:

org.apache.cxf.transport.https.SSLUtils  : Default key managers cannot be initialized: Password must not be null
Run Code Online (Sandbox Code Playgroud)

好的,我缺少密码。但是这个恶意密码放在哪里呢?在application.yml中?在系统属性中?[keystore中使用的密码是标准的(changeit)]

编辑

这是日志的快照:

DEBUG 1 --- [  XNIO-1 task-1] org.apache.cxf.transport.https.SSLUtils  : The location of the key store has not been set via a system parameter or through configuration so the default value of /root/.keystore will be used. …
Run Code Online (Sandbox Code Playgroud)

ssl spring cxf keytool docker

1
推荐指数
1
解决办法
3518
查看次数

为android创建facebook哈希密钥

我按照步骤创建了Hash Key.

  1. 下载openssl

  2. 解压缩并复制bin文件夹中的所有文件,包括openssl.exe

  3. 将从Openssl的bin文件夹复制的所有文件粘贴到Jdk bin文件夹.

  4. 然后我在openssl.exe终端窗口上使用了以下命令

    keytool -exportcert -alias androiddebugkey -keystore C:\ Users\Joelle.android\debug.keystore | openssl sha1 -binary | openssl enc -a -e

但它抛出以下错误

openssl error :'keytool is invalid command'
Run Code Online (Sandbox Code Playgroud)

请指导我......

感谢名单

java android openssl keytool

0
推荐指数
1
解决办法
2592
查看次数

如何使用linux中的控制台使用java keytool创建发布证书?

我有一个Android应用程序,我正在使用谷歌地图.我使用调试密钥开发了这个,现在我需要使用发布证书,但我不知道怎么做,请帮忙.谢谢

java android google-maps keytool google-maps-android-api-2

0
推荐指数
1
解决办法
3289
查看次数

程序'keytool'可以在以下包中找到

我需要SHA1证书指纹来获取Google Map API密钥,但是当我输入时

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 
Run Code Online (Sandbox Code Playgroud)

在终端中,它显示keytool可以在以下包中找到

在此输入图像描述

即使终端显示此类消息,文件keytool已经存在/usr/lib/jvm/jdk1.8.0_25/bin.

它出什么问题了?

我使用64位的Ubuntu 14.04.

java keytool ubuntu-14.04

0
推荐指数
1
解决办法
4227
查看次数

Keytool - 如何生成非自签名证书?

令人困惑的是,由 keytool 生成的密钥库包含使用以下命令的自签名证书:

keytool -genkey -keyalg RSA -keysize 1024 -keystore bob.keystore
Run Code Online (Sandbox Code Playgroud)

生成自签名证书没有意义,因为您需要受信任的 CA 来签署您的证书请求。如何生成非自签名密钥库?

java ssl keytool

0
推荐指数
1
解决办法
6116
查看次数

keytool错误:java.io.FileNotFoundException:c:\ Users \ USER_NAME \ upload-keystore.jks(系统找不到指定的路径)

[Storing c:\Users\USER_NAME\upload-keystore.jks] keytool error: java.io.FileNotFoundException: c:\Users\USER_NAME\upload-keystore.jks (The system cannot find the path specified) java.io.FileNotFoundException: c:\Users\USER_NAME\upload-keystore.jks (The system cannot find the path specified) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:293) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:123) at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:1360) at java.base/sun.security.tools.keytool.Main.run(Main.java:415) at java.base/sun.security.tools.keytool.Main.main(Main.java:408)
Run Code Online (Sandbox Code Playgroud)

keytool android-keystore android-app-signing

0
推荐指数
1
解决办法
7449
查看次数