mon*_*nim 3 java format bouncycastle pkcs#8
我正在编写一个 java 程序来从文件系统中的文件中导入私钥并使用 java 创建一个私钥对象...我可以对.pem格式的文件执行此操作,但是使用 .der 格式,我不知道该做什么做,因为我无法首先检测用于生成密钥的算法。在.pem文件中,我可以从头文件中确定算法,PKCS#1其具有类似
-----BEGIN RSA PRIVATE KEY----
格式的头文件,并使用 bouncycastlepem阅读器用于 PKCS#8 中的那些有头文件
-----BEGIN PRIVATE KEY-----
但 .der 格式的文件不知道 :(
如果有人知道.key格式告诉我
thanx
如果您的 DER 文件是 PKCS#8 格式,您可以使用 Java KeyFactory并执行以下操作:
// Read file to a byte array.
String privateKeyFileName = "C:\\myPrivateKey.der";
Path path = Paths.get(privateKeyFileName);
byte[] privKeyByteArray = Files.readAllBytes(path);
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(privKeyByteArray);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey myPrivKey = keyFactory.generatePrivate(keySpec);
System.out.println("Algorithm: " + myPrivKey.getAlgorithm());
Run Code Online (Sandbox Code Playgroud)
您提到您可能不知道密钥使用的是什么算法。我确信有比这更优雅的解决方案,但是您可以创建多个KeyFactory对象(每个可能的算法一个)并尝试generatePrivate()对每个对象进行操作,直到您没有得到InvalidKeySpecException.
| 归档时间: |
|
| 查看次数: |
13772 次 |
| 最近记录: |