Keystore-java 输入流
Keystore-java inputstream
在下面的代码中,为什么我们使用 FileInputStream?为了什么目的?不要说参考 java 文档,wiki 或任何东西。
我需要一个实际的答案。
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
// get user password and file input stream
char[] password = getPassword();
java.io.FileInputStream fis = null;
try {
fis = new java.io.FileInputStream("keyStoreName");
ks.load(fis, password);
} finally {
if (fis != null) {
fis.close();
}
}
KeyStore.load
不带 FileInputStream
。它需要一个 InputStream
作为参数,因为 FileInputStream
扩展 InputStream
你可以将它作为参数传递。为什么 KeyStore 需要输入流?因为密钥库将其结构保存为字节流。为了取回存储的状态,应该有一种从某个地方加载的机制。 KeyStore
设计师决定使用 InputStream
作为正确的选择。他们可以很容易地设计一个以 byte[]
作为参数的加载方法。
它以输入流作为参数来读取作为信任库的cacerts文件。
为了在文件流中加载指定的Keystore。
在下面的代码中,为什么我们使用 FileInputStream?为了什么目的?不要说参考 java 文档,wiki 或任何东西。 我需要一个实际的答案。
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
// get user password and file input stream
char[] password = getPassword();
java.io.FileInputStream fis = null;
try {
fis = new java.io.FileInputStream("keyStoreName");
ks.load(fis, password);
} finally {
if (fis != null) {
fis.close();
}
}
KeyStore.load
不带 FileInputStream
。它需要一个 InputStream
作为参数,因为 FileInputStream
扩展 InputStream
你可以将它作为参数传递。为什么 KeyStore 需要输入流?因为密钥库将其结构保存为字节流。为了取回存储的状态,应该有一种从某个地方加载的机制。 KeyStore
设计师决定使用 InputStream
作为正确的选择。他们可以很容易地设计一个以 byte[]
作为参数的加载方法。
它以输入流作为参数来读取作为信任库的cacerts文件。
为了在文件流中加载指定的Keystore。