jks文件生成

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();
        }
    }

}

posted @ 2025-02-11 17:59  徐徐丶  阅读(114)  评论(0)    收藏  举报