仅使用 Java 而不是 keytool 将密钥对设置到密钥库中

时间:2021-03-28 01:51:09

标签: java security

如何使用 Java 将密钥对插入密钥库?我想完全按照这个 keytool 命令执行的操作,但是使用 Java:

keytool -genkeypair -alias keyRSA -keyalg RSA -keysize 2048 -storetype JCEKS -keystore .keystore

执行此命令时,它会询问证书详细信息,例如:

  • 您的名字和姓氏是什么?
  • 贵单位的名称是什么?
  • 贵组织的名称是什么?
  • ...

我想使用 java 设置这些证书详细信息。证书格式为X509

Java 代码如下

File keyStoreFile = new File(".keystore");
KeyStore keyStore = KeyStore.getInstance("JCEKS");

//Create empty keystore
keyStore.load(null, null);
keyStore.store(new FileOutputStream(keyStoreFile), "12345".toCharArray());

//Get keyPair from somewhere
KeyPair keyPair = ...

//HOW TO GET CERTIFICATE?
Certificate[] chain = ... ???

//Insert key pair entry into key store
keyStore.setKeyEntry("keyRSA", keyPair.getPrivate(), "12345".toCharArray(), certificateChain);
keyStore.store(new FileOutputStream(keyStoreFile), "12345".toCharArray());

0 个答案:

没有答案