说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

java中keytool -genkey...生成密钥对文件(手工操作),如何用程序实现。

编辑:说三道四文库 发布时间:2018-04-27 05:18
HTML文档下载 WORD文档下载 PDF文档下载
java中“keytool -genkey...”生成密钥对文件,然后“keytool -certreq...”生成请求,这些都是手工完成的,java库中是否提供了程序实现这个功能的接口。
貌似只有这个工具
api里倒没见过。。。。
可以啊,keytool 工具就是用 java 编写的。不用于证书请求的生成格式 PKCS#10 格式被 JDK 封装在 JRE 类库中了,我们不应该在程序中使用的。

如果想用程序生成 keytool 的证书请求可以借用 BouncyCastle 的加密套件。
keytool -certreq...

是导出向 CA 申请的证书,你这个还要批量?一般只要一个证书就可以了。而且向 Versign 等 CA 巨头申请证书的话是非常昂贵的,你还要批量申请?
try {
    // Generate a 1024-bit Digital Signature Algorithm (DSA) key pair
    KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA");
    keyGen.initialize(1024);
    KeyPair keypair = keyGen.genKeyPair();
    PrivateKey privateKey = keypair.getPrivate();
    PublicKey publicKey = keypair.getPublic();

    // Generate a 576-bit DH key pair
    keyGen = KeyPairGenerator.getInstance("DH");
    keyGen.initialize(576);
    keypair = keyGen.genKeyPair();
    privateKey = keypair.getPrivate();
    publicKey = keypair.getPublic();

    // Generate a 1024-bit RSA key pair
    keyGen = KeyPairGenerator.getInstance("RSA");
    keyGen.initialize(1024);
    keypair = keyGen.genKeyPair();
    privateKey = keypair.getPrivate();
    publicKey = keypair.getPublic();
} catch (java.security.NoSuchAlgorithmException e) {
}
引用 5 楼 huntor 的回复:
Java code
try {
    // Generate a 1024-bit Digital Signature Algorithm (DSA) key pair
    KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA");
    keyGen.initialize(1024);
    KeyPair k……

楼上可行?真厉害!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘