我对这个主题进行了研究,但找不到解决方案:
我从eclipse项目创建了一个签名的apk,我也有eclipse密钥库.但是我无法在登录Android Studio时找到如何导入这个密钥库.这些是我已经尝试过的以下内容:
- 添加最初由Android Studio中的eclipse创建的密钥库路径
在将.jks扩展名添加到原始文件后添加Android Studio中的路径
在这两种情况下,错误是:
任务':application:packageRelease'的执行失败.
无法从密钥库中读取密钥
那么将eclipse密钥库添加到Android Studio的正确方法是什么?
任何建议都表示赞赏,因为我不知道出了什么问题.
我在java中使用SSLServerSocket和java.ssl包中的其他类测试SSL.当我运行以下代码时,我得到异常java.io.IOException:无效的密钥库格式.我的代码:
package testing;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.security.KeyStore;
import javax.net.ServerSocketFactory;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.TrustManager;
public class SSLServerTest {
public static void main(String[] args) {
try {
int port = 3000;
SSLContext sc = SSLContext.getInstance("TLSv1.2");
KeyStore ks = KeyStore.getInstance("JKS");
InputStream ksIs = new FileInputStream("key.txt");
try {
ks.load(ksIs, "Bennett556".toCharArray());
} finally {
if (ksIs != null) {
ksIs.close();
}
}
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, "Bennett556".toCharArray());
sc.init(kmf.getKeyManagers(), new TrustManager[] …Run Code Online (Sandbox Code Playgroud) 我用公共和私有RSA密钥创建了一个JKS文件.当我使用外部路径(如c:/file.jks)加载此文件时,程序就像魅力一样执行.但是,如果我尝试从类路径加载此相同的文件,我得到此异常:
java.io.IOException: Invalid keystore format
Run Code Online (Sandbox Code Playgroud)
这是用于加载jks的代码:
KeyStore keyStore = KeyStore.getInstance("JKS");
InputStream stream=this.getClass().getResourceAsStream("/lutum.jks") ;
keyStore.load(stream,passe);
Run Code Online (Sandbox Code Playgroud)
唯一的区别是我在外部加载时使用FileInputStream和完整路径.我做错了什么?
当我打开de sdk manager时,我会看到一个包含以下内容的Log窗口:
Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml
Validate XML
Parse XML
Fetched Add-ons List successfully
Fetching URL: https://dl-ssl.google.com/android/repository/repository-8.xml
Validate XML: https://dl-ssl.google.com/android/repository/repository-8.xml
Parse XML: https://dl-ssl.google.com/android/repository/repository-8.xml
Found SDK Platform Android 1.1, API 2, revision 1 (Obsolete)
Found SDK Platform Android 1.5, API 3, revision 4
Found SDK Platform Android 1.6, API 4, revision 3
Found SDK Platform Android 2.0, API 5, revision 1 (Obsolete)
Found SDK Platform Android 2.0.1, API 6, revision 1 (Obsolete)
Found SDK Platform Android 2.1, API 7, revision 3
Found …Run Code Online (Sandbox Code Playgroud)