以编程方式将CA Trust证书导入到现有密钥库文件中,而无需使用keytool

用户名

我想创建一个将.cer CA导入现有密钥库文件的JAVA程序。这样最终用户可以更加方便地插入CA证书(无需使用CMD和命令中的键)。

JAVA代码可以在任何地方做到这一点吗?

我尝试以某种方式,但仍然无法将证书导入Java

CertificateFactory cf = CertificateFactory.getInstance("X.509");
InputStream certstream = fullStream (certfile);
Certificate certs = cf.generateCertificates(certstream);

错误是不兼容的类型,还有其他建议吗?

谢谢很多

用户名

以下代码yourcert.cer无需使用即可将CA cert文件插入密钥库keytool

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.security.Key;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.io.IOException;
import java.io.InputStream;
import java.io.DataInputStream;
import java.io.ByteArrayInputStream;
import java.security.spec.*;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
import java.util.Collection;

public class ImportCA {

    public static void main(String[] argv) throws Exception {
        String certfile = "yourcert.cer"; /*your cert path*/
        FileInputStream is = new FileInputStream("yourKeyStore.keystore");

        KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
        keystore.load(is, "yourKeyStorePass".toCharArray());

        String alias = "youralias";
        char[] password = "yourKeyStorePass".toCharArray();

        //////

        CertificateFactory cf = CertificateFactory.getInstance("X.509");
        InputStream certstream = fullStream (certfile);
        Certificate certs =  cf.generateCertificate(certstream);

        ///
        File keystoreFile = new File("yourKeyStorePass.keystore");
        // Load the keystore contents
        FileInputStream in = new FileInputStream(keystoreFile);
        keystore.load(in, password);
        in.close();

        // Add the certificate
        keystore.setCertificateEntry(alias, certs);

        // Save the new keystore contents
        FileOutputStream out = new FileOutputStream(keystoreFile);
        keystore.store(out, password);
        out.close();
    }

    private static InputStream fullStream ( String fname ) throws IOException {
        FileInputStream fis = new FileInputStream(fname);
        DataInputStream dis = new DataInputStream(fis);
        byte[] bytes = new byte[dis.available()];
        dis.readFully(bytes);
        ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
        return bais;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

以编程方式将.cer证书导入密钥库

来自分类Dev

将大型github文件复制到现有存储库中,而无需下载/克隆

来自分类Dev

使用Vlookup将数据从文件导入到现有工作簿中

来自分类Dev

将数据从CSV文件导入到Postgres表中,而无需先创建表

来自分类Dev

将.less文件导入到单个.less中,而无需重新编译

来自分类Dev

将数据从csv文件导入到postgres表中,而无需先创建表

来自分类Dev

使用现有的中间 CA 密钥和证书与 keytool 生成客户端证书

来自分类Dev

可以将具有CA证书的.p12文件用于C#中,而无需将其导入证书存储中

来自分类Dev

如何以编程方式将代码导出和导入到Excel工作表中?

来自分类Dev

以编程方式将行插入到UITableViewController

来自分类Dev

以编程方式将JSON文件插入mongodb

来自分类Dev

以编程方式将片段放置在LinearLayout中

来自分类Dev

以编程方式将视图置于活动中

来自分类Dev

Android-如何以编程方式将证书存储在密钥库中?

来自分类Dev

以编程方式区分自签名证书和CA签名证书-IIS绑定

来自分类Dev

以编程方式区分自签名证书和CA签名证书-IIS绑定

来自分类Dev

使用R将多个csv文件导入到postgresql数据库中(内存错误)

来自分类Dev

将PFX文件导入到现有的JKS文件中(不从.pfx转换为.jks)

来自分类Dev

以编程方式将片段添加到现有ViewGroup

来自分类Dev

以编程方式将片段添加到现有ViewGroup

来自分类Dev

以编程方式(通过Java支持的Webscript)将文件导入Alfresco

来自分类Dev

使用Powershell将证书导入Tomcat中的密钥库

来自分类Dev

在Android中以编程方式将动画效果添加到(以编程方式添加)popupWindow

来自分类Dev

以编程方式将UIImage以编程方式添加到ImageView中SWIFT

来自分类Dev

是否可以通过编程方式将文件(图像)上载到BlobStore,而无需引用Forms?

来自分类Dev

将密钥库从Eclipse导入到Android Studio

来自分类Dev

如何将具有现有文件的本地项目导入到“源代码树”

来自分类Dev

以编程方式将证书添加到个人商店

来自分类Dev

以编程方式将证书添加到Java KeyStore的选项

Related 相关文章

  1. 1

    以编程方式将.cer证书导入密钥库

  2. 2

    将大型github文件复制到现有存储库中,而无需下载/克隆

  3. 3

    使用Vlookup将数据从文件导入到现有工作簿中

  4. 4

    将数据从CSV文件导入到Postgres表中,而无需先创建表

  5. 5

    将.less文件导入到单个.less中,而无需重新编译

  6. 6

    将数据从csv文件导入到postgres表中,而无需先创建表

  7. 7

    使用现有的中间 CA 密钥和证书与 keytool 生成客户端证书

  8. 8

    可以将具有CA证书的.p12文件用于C#中,而无需将其导入证书存储中

  9. 9

    如何以编程方式将代码导出和导入到Excel工作表中?

  10. 10

    以编程方式将行插入到UITableViewController

  11. 11

    以编程方式将JSON文件插入mongodb

  12. 12

    以编程方式将片段放置在LinearLayout中

  13. 13

    以编程方式将视图置于活动中

  14. 14

    Android-如何以编程方式将证书存储在密钥库中?

  15. 15

    以编程方式区分自签名证书和CA签名证书-IIS绑定

  16. 16

    以编程方式区分自签名证书和CA签名证书-IIS绑定

  17. 17

    使用R将多个csv文件导入到postgresql数据库中(内存错误)

  18. 18

    将PFX文件导入到现有的JKS文件中(不从.pfx转换为.jks)

  19. 19

    以编程方式将片段添加到现有ViewGroup

  20. 20

    以编程方式将片段添加到现有ViewGroup

  21. 21

    以编程方式(通过Java支持的Webscript)将文件导入Alfresco

  22. 22

    使用Powershell将证书导入Tomcat中的密钥库

  23. 23

    在Android中以编程方式将动画效果添加到(以编程方式添加)popupWindow

  24. 24

    以编程方式将UIImage以编程方式添加到ImageView中SWIFT

  25. 25

    是否可以通过编程方式将文件(图像)上载到BlobStore,而无需引用Forms?

  26. 26

    将密钥库从Eclipse导入到Android Studio

  27. 27

    如何将具有现有文件的本地项目导入到“源代码树”

  28. 28

    以编程方式将证书添加到个人商店

  29. 29

    以编程方式将证书添加到Java KeyStore的选项

热门标签

归档