【发布时间】:2013-05-27 10:16:35
【问题描述】:
我正在尝试用 Java (JDK 1.7) 开发一个模块,以将数字签名应用于具有 PKCS #7 加密信封的数字文档。
我正在使用 java 类 KeyStore (java.security.KeyStore),我拥有一个文件 keystore.ks,并且我有凭据(密码)。
我首先尝试在里面打印证书,代码如下:
public static void main(String[] args) throws Exception {
String keystoreFilename = PATH_TO_KEYSTORE;
char[] password = KEYSTORE_PASSWORD.toCharArray();
FileInputStream fIn = new FileInputStream(keystoreFilename);
KeyStore keystore = KeyStore.getInstance(KEYSTORETYPE);
Provider temp = keystore.getProvider();
System.out.println(temp.getName());
KeyStore keystore = KeyStore.getInstance(KEYSTORETYPE);
FileInputStream input = new FileInputStream(PATH_TO_KEYSTORE);
try {
keystore.load(input, KEYSTORE_PASSWORD.toCharArray());
} catch (IOException e) {
System.out.println("ERROR:"+e.getMessage());
} finally {
if (input != null) {
input.close();
}
}
Certificate cert = keystore.getCertificate(KEY_ALIAS_IN_KEYSTORE);
System.out.println(cert);
}
此代码返回以下内容:
error: "Invalid keystore format" (KEYSTORETYPE = "JKS")
当我尝试承担其中包含的证书的负载时。
谁能告诉我怎么了?
【问题讨论】:
标签: java security cryptography keystore