标签: keystore

将信任链导入密钥对或将其导入密钥库或两者都导入

我们正在尝试为 Tomcat 服务器获取有效的 SSL,并且我们正在使用 KeyTool 来管理密钥库

....但我认为任何具有安全背景的人都可以提供帮助!


  1. 我创建一个密钥存储
  2. 在其中生成公钥和私钥对。
  3. 生成 CSR。
  4. 提交CSR并获得证书信任链
  5. 我导入证书
  6. 我必须导入Trust Chain

第6组是我的问题。我有两个选择:

将证书附加到密钥对(名为 tomcat),如下: 附加证书

或者将 CA 导入到密钥库。如下

将 CA 导入密钥库

我应该两者都做吗?如果第一个选项(将证书附加到密钥对)就足够了,那么为什么有人需要将证书添加到密钥存储?

java ssl certificate keystore java-security

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

android-keystore的密码是否为空?

我在 Android Studio 的终端上尝试了这个命令:

keytool -list -v -alias androiddebugkey -keystore "C:\Users\Shehar Yar Khan\.android\debug.keystore"
Run Code Online (Sandbox Code Playgroud)

但无法输入密码。事实上,键盘卡在终端(在命令提示符上也是如此),但在 Chrome 和其他应用程序上运行良好。因此,我尝试按“Enter”键,这就是我看到的:

*****************  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  *****************

Alias name: androiddebugkey
Creation date: Mar 3, 2019
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: C=US, O=Android, CN=Android Debug …
Run Code Online (Sandbox Code Playgroud)

android cmd keystore android-keystore

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

Keytool 不要求设置密钥密码 (keypass)

我尝试在 C:\Program Files\Java\jdk15.x.x_x\bin 中使用以下命令创建 keytool:

keytool -genkey -alias demospring -keyalg RSA -keystore demospring.jks -keysize 2048
Run Code Online (Sandbox Code Playgroud)

系统要求我创建密码,但不是别名密码。我错过了什么吗?我对这个概念还很陌生。感谢您提前提供任何帮助!

java keystore spring-security jks keytool

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

使用 docker-compose 运行我的应用程序时出现 java.security.KeyStoreException

我的 Spring Boot 项目已连接到 mysql 和 cassandra db。当我使用 Spring Boot 在本地运行它时,一切正常。我使用 docker-compose 来运行这三个服务。三个星期以来,我的应用程序运行没有任何问题。但现在发生错误:引起:java.security.KeyStoreException:找不到密钥保护算法:java.security.UnrecoverableKeyException:加密私钥失败:无法识别的算法名称:PBEWithSHA1AndDESede。有人能帮助我吗?

java security keystore spring-boot docker-compose

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

在 github 上发布也将在 google play 中发布的应用程序是否安全

在 github 上发布一个也将在 google play 中发布的应用程序是否安全?使用我的密钥库预先加密。

我想在 Google Play 中发布我的应用程序。但我还想将存储库作为示例代码附加到我的简历中,这不是有风险吗?因此,使用解密方法的人是否有可能收到我的电子签名文件(密钥库等)?

android github keystore electronic-signature google-play

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

Flutter:任务“:app:validateSigningRelease”执行失败。> 未设置用于签名配置发布的密钥库文件

在开发 Flutter 应用程序时,我已经尝试了之前列出的所有修复,但没有任何效果。我相信一切都配置正确并且位于正确的位置,因此我需要帮助找出签名配置仍然抛出此错误的原因。我已经尝试了几个小时寻找另一个解决方案但没有运气。所有内容都拼写正确。错误如下。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:validateSigningRelease'.
> Keystore file not set for signing config release
Run Code Online (Sandbox Code Playgroud)

key.properties文件夹位于主 android 文件夹中,upload-keystore.jks文件位于android/app.

key.properties 是

storePassword=xxxx
keyPassword=xxxx
keyAlias=upload
storeFile=/Users/..../android/app/upload-keystore.jks
Run Code Online (Sandbox Code Playgroud)

而饱满的build.gadle

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define …
Run Code Online (Sandbox Code Playgroud)

android signing keystore flutter

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

我应该在哪里存储公钥?

我的Web应用程序有一个连续运行的服务来向ftp服务器发送报告,该文件需要使用公钥加密.因此我的问题是我应该在哪里存储公钥?我只有一个公钥,所以使用高级密钥库似乎有点矫枉过正?

我应该只是在服务器上手动创建一个文件夹并将其存储在那里吗?

c# security storage keystore public-key

2
推荐指数
3
解决办法
1767
查看次数

我联系的Web服务器更新了它的SSL证书,现在我的应用程序无法与之通信

Web服务器将其SSL证书更新为新的verisign签名证书,我的Java应用程序无法再连接.

我在/ usr/java/jre/lib/security中使用带有日期的java 5和2006年11月的cert文件

我明白了

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1518)
    at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:174)
    at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:168)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:848)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:106)
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:818)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1030)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1057)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1041)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:402)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:170)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
Run Code Online (Sandbox Code Playgroud)

如何安装服务器提供的新密钥?

从我得到的不同的java实例

Certificate chain received from eservices3.bus.att.com - 135.38.253.93 was not trusted causing SSL handshake failure.
Run Code Online (Sandbox Code Playgroud)

我认为它来自同一根问题.

更新在远程服务器更新之前,这适用于我们的标准Java安装.我没有必要安装任何证书,以便上次使用它.

java ssl keystore

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

android - 如何导入com.google.android.maps.MapActivity?

我想让谷歌地图在我的android项目中工作.我已经获得了md5密钥并通过谷歌注册获取api密钥,但现在当我尝试显示地图时,导入时出错."com.google"下面有sqiqly红线.

有人可以帮忙吗?谢谢

这是我的xml文件:(注意:我用'my_key'替换了键,因为我不想公开它)

<com.google.android.maps.MapView
   android:id="my_map"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:enabled="true"
   android:clickable="true"
   android:apiKey="my_key"/>
Run Code Online (Sandbox Code Playgroud)

并为java文件:

package com.escortme.basic;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.google.android.maps.MapActivity; // ERROR
import com.google.android.maps.MapView;     // ERROR
import android.os.Bundle;

public class Police_ViewActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pol_view);
    }

    public void quit_button_action(View view){
        finish();
    }
}
Run Code Online (Sandbox Code Playgroud)

import maps android keystore

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

无法加载包含的JKS密钥库

我正在尝试加载包含从现有Web服务器获取的中间CA证书的JKS密钥库.

Verisign证书如下所示.

-----BEGIN CERTIFICATE-----
MIIF5DCCBMygAwIBAgIQW3dZxheE4V7HJ8AylSkoazANBgkqhkiG9w0BAQUFADCB
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW
ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0
aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBujEL
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg
aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE0MDIGA1UEAxMrVmVy
aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBDQTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJjboFXrnP0XeeOabhQdsVuYI4cWbod2
nLU4O7WgerQHYwkZ5iqISKnnnbYwWgiXDOyq5BZpcmIjmvt6VCiYxQwtt9citsj5
OBfH3doxRpqUFI6e7nigtyLUSVSXTeV0W5K87Gws3+fBthsaVWtmCAN/Ra+aM/EQ
wGyZSpIkMQht3QI+YXZ4eLbtfjeubPOJ4bfh3BXMt1afgKCxBX9ONxX/ty8ejwY4
P1C3aSijtWZfNhpSSENmUt+ikk/TGGC+4+peGXEFv54cbGhyJW+ze3PJbb0S/5tB
Ml706H7FC6NMZNFOvCYIZfsZl1h44TO/7Wg+sSdFb8Di7Jdp91zT91ECAwEAAaOC
AdIwggHOMB0GA1UdDgQWBBT8ilC6nrklWntVhU+VAGOP6VhrQzASBgNVHRMBAf8E
CDAGAQH/AgEAMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRw
czovL3d3dy52ZXJpc2lnbi5jb20vY3BzMD0GA1UdHwQ2MDQwMqAwoC6GLGh0dHA6
Ly9FVlNlY3VyZS1jcmwudmVyaXNpZ24uY29tL3BjYTMtZzUuY3JsMA4GA1UdDwEB
/wQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZ
MFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7
GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwKQYDVR0R
BCIwIKQeMBwxGjAYBgNVBAMTEUNsYXNzM0NBMjA0OC0xLTQ3MD0GCCsGAQUFBwEB
BDEwLzAtBggrBgEFBQcwAYYhaHR0cDovL0VWU2VjdXJlLW9jc3AudmVyaXNpZ24u
Y29tMB8GA1UdIwQYMBaAFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqGSIb3DQEB
BQUAA4IBAQCWovp/5j3t1CvOtxU/wHIDX4u6FpAl98KD2Md1NGNoElMMU4l7yVYJ
p8M2RE4O0GJis4b66KGbNGeNUyIXPv2s7mcuQ+JdfzOE8qJwwG6Cl8A0/SXGI3/t
5rDFV0OEst4t8dD2SB8UcVeyrDHhlyQjyRNddOVG7wl8nuGZMQoIeRuPcZ8XZsg4
z+6Ml7YGuXNG5NOUweVgtSV1LdlpMezNlsOjdv3odESsErlNv1HoudRETifLriDR
fip8tmNHnna6l9AW5wtsbfdDbzMLKTB3+p359U64drPNGLT5IO892+bKrZvQTtKH
qQ2mRHNQ3XBb7a1+Srwi1agm5MKFIA3Z
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

我已使用以下命令将证书导入JKS密钥库:

keytool -importcert -trustcacerts -alias vs -file vs.cer -keystore vs.jks -storepass changeit -storetype JKS
Run Code Online (Sandbox Code Playgroud)

我已经验证了keytool可以从新创建的密钥库中读取证书详细信息.

最后,我使用以下Java代码加载密钥库:

final KeyStore trustStore = KeyStore.getInstance("JKS");   
trustStream = getClass().getClassLoader().getResourceAsStream("vs.jks"); 
trustStore.load(trustStream, "changeit".toCharArray());
Run Code Online (Sandbox Code Playgroud)

目前使用的是JDK 1.7.0_51.

不幸的是,在load()方法中抛出异常.

java.security.cert.CertificateParsingException: java.io.IOException: X500 RDN
    at sun.security.x509.X509CertInfo.<init>(X509CertInfo.java:171)
    at sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1788)
    at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:202)
    at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:97)
    at …
Run Code Online (Sandbox Code Playgroud)

java ssl keystore ssl-certificate x509

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