标签: keytool

如何进入非密码保护的Java密钥库或更改密码?

我正在尝试将受信任的证书导入Java cacerts密钥库,但我遇到了问题.我试图列出现有的可信证书,似乎密钥库没有密码保护.

$ keytool -list -keystore cacerts
Enter keystore password:

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 76 entries
Run Code Online (Sandbox Code Playgroud)

我试图导入一个可信证书:

$ keytool -importcert -alias "JiraCert" -file /root/c9ssl.crt -keystore /etc/java-6-sun/security/cacerts
Enter keystore password:  
Keystore password is …
Run Code Online (Sandbox Code Playgroud)

java keystore keytool atlassian-fisheye

117
推荐指数
3
解决办法
15万
查看次数

如何找出我的JVM使用的密钥库?

我需要将证书导入我的JVM密钥库.我使用以下内容:

keytool -import -alias daldap -file somecert.cer
Run Code Online (Sandbox Code Playgroud)

所以我需要将我的调用改为:

keytool -import -alias daldap -file somecert.cer -keystore cacerts –storepass changeit
Run Code Online (Sandbox Code Playgroud)

java jvm keytool

117
推荐指数
8
解决办法
35万
查看次数

导入证书后出现Java Keytool错误,"keytool错误:java.io.FileNotFoundException&Access Denied"

我正在尝试通过HTTPS连接Java Web API; 但是,抛出异常:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Run Code Online (Sandbox Code Playgroud)

我遵循了从在线keytool和SSL证书教程中学到的这些步骤:

  1. 我将HTTPS URL复制到浏览器中,使用Internet Explorer下载SSL证书并将其安装在浏览器中.

  2. 将证书导出到计算机上的路径,证书保存为 .cer

  3. 使用了keytool的导入选项.执行下面的命令没有任何错误.

    keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我在命令提示符下提示输入密码,然后我输入了密码.

  5. cmd窗口打印一些证书数据与签名,我是这样一个问题提示:

    相信这个证书?

    我回答是的.

  6. 显示cmd提示符

    证书已添加到密钥库

    但是在该消息之后,显示了另一个异常:

    keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
    
    Run Code Online (Sandbox Code Playgroud)

最后,当我检查密钥库时,没有添加SSL证书,我的应用程序提供了我在尝试连接时得到的相同异常:

(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
Run Code Online (Sandbox Code Playgroud)

java ssl keytool ssl-certificate

111
推荐指数
5
解决办法
21万
查看次数

如何将.pfx文件转换为具有私钥的密钥库?

我需要签署Android应用程序(.apk).
我有.pfx档案.我.cer通过Internet Explorer 将其转换为文件,然后转换.cer.keystore使用keytool.然后我尝试.apk与jarsigner 签约,但它说.keystore不满足私钥.

我做错了什么?

java certificate keytool jarsigner apk

101
推荐指数
3
解决办法
27万
查看次数

如何查看.pem证书的内容

我正在使用Java keytool.我.pem已从我的密钥库导出了自签名证书.是否有命令直接从.pem文件(而不是密钥库中的证书)查看证书详细信息?

keytool

98
推荐指数
2
解决办法
14万
查看次数

在Java KeyStore中导入私钥/公钥证书对

我使用以下步骤创建一个新的Java密钥库,其中包含一对私有/公共密钥,供Java(内部)服务器使用TLS.请注意证书是自签名的:

1)使用AES256生成密钥

openssl genrsa -aes256 -out server.key 1024
Run Code Online (Sandbox Code Playgroud)

2)为CA生成证书请求

openssl req -x509 -sha256 -new -key server.key -out server.csr
Run Code Online (Sandbox Code Playgroud)

3)生成自签名到期时间10年

openssl x509 -sha256 -days 3652 -in server.csr -signkey server.key -out selfsigned.crt
Run Code Online (Sandbox Code Playgroud)

4)使用像KeyStoreExplorer这样的程序在新的JKS中导入对(私钥和自签名证书)

这有效,但我想在不使用GUI的情况下实现最后一步.

我知道如何仅导入自签名证书:

// create the keystore and import the public key. THIS WILL NOT IMPORT THE PRIVATE KEY SO THE KEYSTORE CAN'T BE USED ON THE SERVER TO MAKE THE TLS CONNECTION
/usr/java/jdk1.6.0_45/bin/keytool -import -alias myservercert -file server.crt -keystore mykeystore.jks
Run Code Online (Sandbox Code Playgroud)

所以问题是:我如何创建Java KeyStore并使用公钥和私钥导入证书而不使用GUI?

java ssl keytool x509certificate

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

如何从现有证书(abc.crt)和abc.key文件创建密钥库?

我试图将证书和密钥文件导入密钥库,但我无法做到这一点.

如何通过导入现有证书(abc.crt)和abc.key文件来创建密钥库?

ssl keytool

62
推荐指数
4
解决办法
11万
查看次数

Java Keytool:添加自签名证书而不向用户发出"是/否"

使用一些批处理文件,我想在Java Keystore中添加不受信任的自签名证书.

命令是

%JAVA_HOME%/bin/keytool -import -v -trustcacerts -alias server-alias
-file server.cer -keystore cacerts.jks -keypass changeit -storepass changeit
Run Code Online (Sandbox Code Playgroud)

运行上述命令后,屏幕将使用Y/N进行证书信任.

Trust this certificate? [no]:
Run Code Online (Sandbox Code Playgroud)

但我不想在这里提供Y/N.

有没有办法使用单个命令或一些额外的导入开关完成导入?请帮忙.

问候,

阿伦

java import ssl keystore keytool

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

使用Google Play提供的上传密钥对APK进行签名

我正在尝试了解如何在使用Google Play App Signing时将应用上传到Google Play.

这是我做的:

  1. 创建了一个应用程序
  2. 使用keytool.exe为该应用程序生成密钥
  3. 已将应用上传到Google Play
  4. 已注册Google Play App Signing
  5. 尝试再次上传应用程序但没有成功.

它抱怨证书不是证书

将新APK上传到制作

上传失败您上传了未使用上传证书签名的APK.您必须使用相同的证书.上传证书有指纹:[SHA1:0C:...],用于签署您上传的APK的证书有指纹:[SHA1:2D:...]

搜索了一会儿之后.我找到了如何将认证发布到我的密钥库中的Google Play控制台上.像这样的东西:

keytool.exe -importcert -file upload.pem -keystore myapp-release-key.keystore

证书似乎在.当我列出密钥库的内容时,这是我得到的:

keytool.exe -list -keystore trackcoachfull-release-key.keystore输入密钥库密码:

密钥库类型:JKS密钥库提供商:SUN

您的密钥库包含2个条目

myappfull,2017年5月18日,PrivateKeyEntry,证书指纹(SHA1):2D:... uploadkey,2017年5月19日,trustedCertEntry,证书指纹(SHA1):0C:...

现在,我被封锁的地方......

在Android Studio中,我尝试使用uploadkey生成已签名的APK.

构建>生成签名APK选择上面的密钥库输入密钥库密码选择uploadkey作为密钥别名我强制输入密钥密码.

Android Studio中出错:

错误:任务':app:packageFullRelease'的执行失败.

com.android.ide.common.signing.KeytoolException:无法从商店"C:\ Users\Admin\AndroidStudioProjects\keystores\myappfull-release-key.keystore"读取密钥uploadkey:受信任的证书条目未受密码保护

我的问题是:

如何生成使用Google Play提供的上传密钥签名的APK?

谢谢

android keytool apk google-play android-app-signing

46
推荐指数
3
解决办法
4万
查看次数

未找到证书链,如何修复并发布到Google Play商店?

错误消息:

jarsigner: Certificate chain not found for: project_foo.<br/>
project_foo must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
Run Code Online (Sandbox Code Playgroud)

问题:如何包含公钥证书链来解决错误?

背景:App Developer已经完成了一个Android应用程序,并提供了一个名为Foo.apk的未签名APK.我的目标是对APK进行签名和压缩,以准备将其上传到Google Play商店.我的密钥库位于Windows机器上的C:\ Path\.keystore中.

命令行,我的命令:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore C:\Path\\.keystore Foo.apk project_foo
Run Code Online (Sandbox Code Playgroud)

命令行,回复:

Enter Passphrase for keystore:
jarsigner: Certificate chain not found for: project_foo.<br/>
project_foo must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
Run Code Online (Sandbox Code Playgroud)

还试过:验证我记得正确的密码.使用命令行中的"keytool -list"向我显示预期的列表(它包含一个私钥). …

android keytool jar-signing jarsigner

45
推荐指数
2
解决办法
5万
查看次数