RsaUtils.java
2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.idss.vulsync.utils;
import java.io.FileWriter;
import java.io.IOException;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.util.Base64;
/**
* @Author: zc
* @Date: 2024/8/29 15:51
*/
public class RsaUtils {
public static void main(String[] args) throws Exception {
generateRSAPemKeyFiles();
}
/**
* 生成RSA pem格式的公私钥文件
*
* @throws Exception
*/
private static void generateRSAPemKeyFiles() throws Exception {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(4096);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
savePrivatePemFile(keyPair.getPrivate(), "E:\\工作\\资管探针\\idss\\打包\\测试141\\北京联通\\漏管对接\\资管侧接口程序密钥\\private_key.pem");
savePublicPemFile(keyPair.getPublic(), "E:\\工作\\资管探针\\idss\\打包\\测试141\\北京联通\\漏管对接\\资管侧接口程序密钥\\public_key.pem");
}
private static void savePrivatePemFile(Key key, String filename)
throws IOException {
String encoded = Base64.getEncoder().encodeToString(key.getEncoded());
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(filename);
fileWriter.write("-----BEGIN PRIVATE KEY-----\n");
fileWriter.write(encoded);
fileWriter.write("\n-----END PRIVATE KEY-----");
} finally {
if (null != fileWriter) {
fileWriter.close();
}
}
}
private static void savePublicPemFile(Key key, String filename)
throws IOException {
String encoded = Base64.getEncoder().encodeToString(key.getEncoded());
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(filename);
fileWriter.write("-----BEGIN PUBLIC KEY-----\n");
fileWriter.write(encoded);
fileWriter.write("\n-----END PUBLIC KEY-----");
} finally {
if (null != fileWriter) {
fileWriter.close();
}
}
}
}