package com.tkshop.tkuserservice;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.io.IOException;
@SpringBootTest
class TkUserServiceApplicationTests {
@Test
void contextLoads() {
try {
// 构建 keytool 命令
ProcessBuilder processBuilder = new ProcessBuilder(
"keytool",
"-genkeypair", // 表明需要生成一个密钥对
"-alias", "cert-tk", // 为密钥对指定一个别名
"-keyalg", "RSA", // 指定密钥算法
"-keysize", "256", // 设置密钥的长度
"-validity", "365", // 设定证书的有效期,单位"天"
"-keystore", "keystore.jks", // 指定生成的 JKS 文件的名称
"-storepass", "123456", // 设置 JKS 文件的访问密码
"-keypass", "hjkRTYF54549vghuIJNxdrjhk459qw987ty78igu6e54rds3", // 设置密钥的密码
"-dname", "CN=twinkle, OU=twinkle-home, O=none, L=YiChun, ST=JiangXi-Province, C=China" // 指定证书的主体信息
// 通用名称(CN)、组织单位(OU)、组织(O)、城市(L)、州(ST)和国家(C)
);
// 启动进程
Process process = processBuilder.start();
// 获取进程的退出状态码
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("JKS 文件生成成功!");
} else {
System.out.println("JKS 文件生成失败,退出状态码: " + exitCode);
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}