gpt4 book ai didi

java - 如何用Java从系统读取p12文件?

转载 作者:太空宇宙 更新时间:2023-11-04 06:11:18 24 4
gpt4 key购买 nike

在我的应用程序中,当与我正在使用的 API 通信时,我使用 p12 证书文件来加密流量。

对于我的生产环境,我需要从系统而不是应用程序中读取这些文件。

在 Linux 上,我如何将这些文件从系统中读取到应用程序中的 InputStream 中,就像从应用程序中的资源目录中读取一样?

我正在使用 Java。

最佳答案

我构建了一个快速而肮脏的小类来显示我使用keytools创建的相对.pfx(P12)的打开。当然,如果有几个可能的位置,您也可以浏览不同的潜在目录来查找该文件。

文件结构如下所示:

./bin
./bin/Test.java
./bin/Test.class
./conf
./conf/myFile.pfx

测试代码如下:

import java.io.*;
import java.security.*;

class Test {
public static void main(String[] args) {
String pass = "password";
try {
File file = new File("../conf/myFile.pfx");
InputStream stream = new FileInputStream(file);
KeyStore store = KeyStore.getInstance("PKCS12");
store.load(stream, pass.toCharArray());
PrivateKey key = (PrivateKey)store.getKey("example", pass.toCharArray());
System.out.println("Success");
} catch (KeyStoreException kse) {
System.err.println("Error getting the key");
} catch (Exception e) {
System.err.println("Error opening the key file");
e.printStackTrace();
}
}
}

关于java - 如何用Java从系统读取p12文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com