Tag: 密钥库

从密钥库中的文件读取公钥

嗨,我想使用Java代码从KeyStore中提取公钥 我正在创建一个密钥库 keytool -genkey -alias mykeystore -keyalg RSA -keystore mykeystore.jks -keysize 2048 并将公众导出到另一个文件中 keytool -export -alias mykeystore -keystore mykeystore.jks -rfc -file publickey.cert 如何使用Java代码从keystore或publickey.cert文件获取公钥字符串? 谢谢。 UPDATE public static void main(String[] args) { try { FileInputStream is = new FileInputStream(“/home/myuser/my-keystore/mykeystore.jks”); KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); String password = “myuserpass”; char[] passwd = password.toCharArray(); keystore.load(is, passwd); String alias = […]

keytool -genkey错误:密钥库文件不存在

我尝试创建一个新的自我认证的密钥库文件 我使用的命令是: keytool -genkey -selfcert -dname “cn=My Name, ou=Orga unit” -alias selfcertified -keypass somepass -keystore keystore.jks -storepass anotherpass -validity 365 但我总是得到这个恼人的错误: keytool error: java.lang.Exception: Keystore file does not exist: keystore.jks 我不明白为什么我收到这个错误。 上面的命令应该创建一个新的密钥库,为什么它抱怨一个不存在的商店?

在Windows JRE中导入StartCom CA证书

我有一个Java应用程序访问使用StartCom SSL证书的服务。 为了实现这一点,我需要将StartCom CA证书添加到Java的信任库中,因为它们默认不在那里。 我已经使用这些命令在linux上成功完成了这项工作 sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca -file ca.crt sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class1 -file sub.class1.server.ca.crt sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class2 -file sub.class2.server.ca.crt sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class3 […]

密钥存储大小增加时,Java Keystore.getKey()变慢

我正在使用java密钥库来存储和检索加密密钥。当我的密钥库大小很小时,它的工作速度更快。 但是,一旦我的密钥存储大小增加,密钥存储操作就会变慢。 我正在使用Linux平台,Java版本Jdk_1.8。 和safenet作为提供者。

keytool错误:java.security.KeyStoreException:找不到BKS

如何在java sun keytool中创建.bks密钥库,我该怎么办? C:\Program Files\Java\jdk1.6.0\jre\bin>keytool -genkey -alias server3private -ke ystore server3.private -storetype BKS -keyalg rsa -dname “CN=Your Name, OU=Your Organizational Unit, O=Your Organization, L=Your City, S=Your State, C=Your Coun try” -storepass tahirpw -keypass tahirpw 它给了我错误 keytool错误:java.security.KeyStoreException:找不到BKS

如何在Java中存储和重用密钥对?

我想要生成一次密钥对并重用它。 public static KeyPair generateKeyPair() throws Exception { KeyPairGenerator generator = KeyPairGenerator.getInstance(“RSA”); generator.initialize(2048, new SecureRandom()); KeyPair pair = generator.generateKeyPair(); return pair; } 我该怎么做?

keytool – 查看公钥和私钥

我以编程方式创建了类型为jks的Java密钥库(即默认类型)。 它最初是空的,所以我创建了一个DSA证书。 keytool -genkey -alias myCert -v -keystore trivial.keystore 我怎样才能看到公钥和私钥? 即是否有一个命令打印我的证书的私钥? 我只能找到keytool -certreq ,在我的理解中,它打印整个证书: —–BEGIN NEW CERTIFICATE REQUEST—– MIICaTCCAicCAQAwZTELMAkGA1UEBhMCR1IxDzANBgNVBAgTBkdyZWVjZTEPMA0GA1UEBxMGQXRo BQADLwAwLAIUQZbY/3Qq0G26fsBbWiHMbuVd3VICFE+gwtUauYiRbHh0caAtRj3qRTwl —–END NEW CERTIFICATE REQUEST—– 我认为这是整个证书。 如何通过keytool查看私人(或公钥)?

keytool:证书导入提供错误消息 – 密钥库被篡改,或密码不正确

我的目标是生成证书,将其导出到文件中并导入JDK密钥库。 在第一步中,我使用以下命令生成了自签名证书,为密钥库和密钥提供密码作为“密码”: keytool -genkeypair -keystore .keystore -alias uasera -keyalg RSA 在第二步中,我使用类似的密码和以下命令导出证书: keytool -exportcert -keystore .keystore -alias usera -file usera.crt 现在! 我试图使用类似的密码和以下命令在JDK中的cacerts中导入此证书,但获得exception。 keytool -importcert -file usera.crt -keypass password -keystore “C:\Program Files\Java\jdk1.7.0_13\jre\lib\security\cacerts” 错误 K:\ java \ certificates> keytool -importcert -file usera.crt -keypass password -keystore“C:\ Program Files \ Java \ jdk1.7.0_13 \ jre \ lib \ security \ […]

在Android中隐藏密钥库密码的最佳方法是什么?

我是Android开发和实现SSLSockets的新手。 在做了一些挖掘后,我能够设置一个正常工作的简单服务器/客户端。 我认为实现可以使用一些工作,并且难以将密码加载到密钥库而不用纯文本。 这是客户端的一些代码。 如您所见,我将密码硬编码到本地var中。 是否有更好的方法加载密钥库密码,所以我没有在代码中以纯文本forms? char [] KSPASS = “password”.toCharArray(); char [] KEYPASS = “password”.toCharArray(); try { final KeyStore keyStore = KeyStore.getInstance(“BKS”); keyStore.load(context.getResources().openRawResource(R.raw.serverkeys), KSPASS); final KeyManagerFactory keyManager = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); keyManager.init(keyStore, KEYPASS); final TrustManagerFactory trustFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); trustFactory.init(keyStore); sslContext = SSLContext.getInstance(“TLS”); sslContext.init(keyManager.getKeyManagers(), trustFactory.getTrustManagers(), null); Arrays.fill(KSPASS, ‘ ‘); Arrays.fill(KEYPASS, ‘ ‘); KSPASS = null; KEYPASS = […]

我们可以在密钥库中加载多个证书和密钥吗?

我们可以在密钥库中加载多个证书和密钥吗? 是否始终只需要加载对(即证书和密钥)? 如果密钥库具有多个证书和密钥,当Java SSL尝试将连接建立为服务器时,将选择哪个证书和密钥?