我已经设置了一个自签名证书来测试ssl java连接 - 但是,它拒绝找到java trustStore.我已经在/ Java/jre6/lib/security中保存了它的副本,除了编译类的文件夹(使用netbeans)以及/ java/jre6/bin之外,上述任何一个都不起作用,因为当我运行以下 - trustStore = null.
public class ShowTrustStore {
public static void main(String[] args) {
System.setProperty("javax.net.ssl.keyStore", "keystore.jks");
System.setProperty("javax.net.ssl.trustStrore", "cacerts.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
String trustStore = System.getProperty("javax.net.ssl.trustStore");
if (trustStore == null) {
System.out.println("javax.net.ssl.trustStore is not defined");
} else {
System.out.println("javax.net.ssl.trustStore = " + trustStore);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何正确设置路径?
**********UPDATE************使用getFile()方法和一些其他调试数据:
package ssltest;
public class Main {
public static void main(String[] args) {
// System.setProperty("javax.net.ssl.keyStore", "/keystore.jks");
// System.setProperty("javax.net.ssl.trustStrore", "/java.home/cacerts.jks");
// System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
// System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
try {
Main.class.getResource("trustStore.jks").getFile(); …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚如何获得使用Facebook Android SDK所需的Key Hash.我发现我可以使用keytool这些命令:
keytool -exportcert -alias [alias]
-keystore [keystore] | openssl sha1 -binary | openssl enc -a -e
Run Code Online (Sandbox Code Playgroud)
唯一的问题是我不知道在哪里插入这个,我尝试通过命令窗口(win7),我尝试打开文件keytool.exe.
我正在编写一个使用SSL的应用程序.因此,我有一个虚拟密钥库和一个我想要提供给客户的虚拟信任库.是否有任何默认文件夹将它们放入我的发行版中?例如docs,lib,bin等.通常将密钥库放在服务器上的位置通常是客户端放置的信任库?
谢谢
在创建debug .apk的s(<project-name>-debug.apk)时,是否可以指定自己创建的调试密钥库的位置ant debug?我只看到指定发布密钥库的位置的可能性.
我想在多台PC上共享调试密钥库,而不是将它们复制到放在".android"目录中的那个.调试密钥库可以例如驻留在源代码库中.但是我需要一种方法来告诉ant在哪里找到调试密钥库.
我不太了解密钥库/信任库术语,但就我而言,信任库保持对等服务器信任的证书.
我可以使用查看密钥库的内容
keytool -list -keystore refArchive/testkeystore
Enter keystore password: password
Run Code Online (Sandbox Code Playgroud)
信任库有没有相应的东西?如何查看受信任的证书?
谢谢!
所以,我遇到了LDAP问题.我有一个集成测试用例,希望可以解决,但它目前遇到SSL握手的LDAPS安全问题.
我能够使用Apache Directory Studio连接到LDAPS,并且已将密钥库下载到文件"permanent.jks"中.
没关系,但我希望我的集成测试(使用JRE驻留在Eclipse中)能够使用此密钥库连接到LDAP服务器.
如何将此密钥库导入JRE以供自己使用?
我正在导出一个应用程序,我对keystore和keyalias非常好奇.我不确定它们的用途是什么,或者我应该创建多少(每个应用程序可能有一个?).我将不胜感激任何有关这些键的信息.谢谢
我正在使用密钥库(.jks)来存储我用来签署我的Android应用程序的证书.Android文档和社区给我留下了深刻印象,从不丢失这个文件的重要性,但我没有找到任何关于我应该保留它的指导.
将它存储在Git中是一个糟糕的想法(即它会产生安全后果)吗?
假设密钥库本身和它们内部的私钥都有强密码.
有谁知道如何解决这个问题?我尝试了很多东西,但没有一个能奏效.
当我点击更多细节时,我得到了这个:
at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
atsun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)
at java.security.KeyStore.load(Unknown Source)
at com.sun.deploy.security.RootCertStore$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.RootCertStore.loadCertStore(Unknown Source)
at com.sun.deploy.security.RootCertStore.load(Unknown Source)
at com.sun.deploy.security.RootCertStore.load(Unknown Source)
at com.sun.deploy.security.ImmutableCertStore.load(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at sun.plugin.security.PluginClassLoader.getPermissions(Unknown Source)
at java.security.SecureClassLoader.getProtectionDomain(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) 我正在开发多台计算机.如果我在一台计算机上直接从Eclipse部署到我的手机,我不能先从另一台计算机进行部署而不先卸载.我假设这是因为有一个调试证书用于签署应用程序,它们在两台机器上是不一样的.
有可能将一个复制到另一个,以便Eclipse在两台机器上使用相同的一个吗?
keystore ×10
java ×7
android ×5
ssl ×2
truststore ×2
ant ×1
applet ×1
certificate ×1
debugging ×1
encryption ×1
jks ×1
jsse ×1
keytool ×1
security ×1