美文网首页
ECC加密证书与RSA证书

ECC加密证书与RSA证书

作者: 灵台悠步 | 来源:发表于2020-07-26 13:46 被阅读0次

linux生成ECC证书

openssl ecparam -out EccCA.key -name prime256v1 -genkey
openssl req -config /etc/pki/tls/openssl.cnf -key EccCA.key -new -out EccCA.req 
openssl x509 -req -in EccCA.req -signkey EccCA.key -out EccCA.pem   //生成根证书
openssl ecparam -out EccSite.key -name prime256v1 -genkey
openssl req -config /etc/pki/tls/openssl.cnf -key EccSite.key -new -out EccSite.req
openssl x509 -req -in EccSite.req -CA EccCA.pem -CAkey EccCA.key -out EccSite.pem -CAcreateserial //使用根证书签名的证书

pem证书转p12证书

openssl pkcs12 -export -inkey EccSite.key -in EccSite.pem -passin pass:12345678 -passout pass:12345678 -out EccSite.p12 

windows jdk自带keytool生成pfx证书:

执行命令
keytool -genkey
-alias test --别名
-keypass 123123 --私钥密码
-keyalg RSA --算法
-sigalg sha256withrsa --算法小类
-keysize 1024 --密钥长度
-validity 365 --有效期
-keystore d:/test.jks --生成路径
-storepass 123123 --主密码

即:

keytool -genkey -alias czz -keypass 123123 -keyalg RSA -sigalg sha256withrsa -keysize 1024 -validity 365 -keystore d:/czz.jks -storepass 123123

将生成的jks转成pfx证书

package com.jdwa.util;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.security.Key;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.util.Enumeration;

public class JKS2PFX {
    private static final String KEYSTORE_PASSWORD = "12345678";

    private static void coverToPfx() {
        try {
            KeyStore inputKeyStore = KeyStore.getInstance("JKS");
            FileInputStream fis = new FileInputStream("D://czz.jks");
            char[] nPassword = null;
            if ((KEYSTORE_PASSWORD == null)
                    || KEYSTORE_PASSWORD.trim().equals("")) {
                nPassword = null;
            } else {
                nPassword = KEYSTORE_PASSWORD.toCharArray();
            }

            inputKeyStore.load(fis, nPassword);
            fis.close();

            KeyStore outputKeyStore = KeyStore.getInstance("PKCS12");
            outputKeyStore.load(null, KEYSTORE_PASSWORD.toCharArray());

            Enumeration enums = inputKeyStore.aliases();
            while (enums.hasMoreElements()) {
                String keyAlias = (String) enums.nextElement();
                System.out.println("alias=[" + keyAlias + "]");
                if (inputKeyStore.isKeyEntry(keyAlias)) {
                    Key key = inputKeyStore.getKey(keyAlias, nPassword);
                    Certificate[] certChain = inputKeyStore
                            .getCertificateChain(keyAlias);
                    outputKeyStore.setKeyEntry(keyAlias, key, KEYSTORE_PASSWORD
                            .toCharArray(), certChain);
                }
            }
            FileOutputStream out = new FileOutputStream("D://czz.pfx");
            outputKeyStore.store(out, nPassword);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        coverToPfx();
    }
}

相关文章

  • ECC加密证书与RSA证书

    linux生成ECC证书 pem证书转p12证书 windows jdk自带keytool生成pfx证书: 执行命...

  • 使用OpenSSL生成ECC证书

    RSA证书出现时间比较早,能够兼容的设备非常多,所以兼容性好,是最为普及。相较于RSA证书,ECC证书加密速度快,...

  • https免费证书申请

    证书有两种,一种是 ECC 证书(内置公钥是 ECDSA 公钥),一种是 RSA 证书(内置 RSA 公钥)。简单...

  • 浅谈椭圆曲线加密ECC

    椭圆曲线加密法(ECC, Elliptic Curve Cryptography)与RSA同样属于非对称加密,但是...

  • iOS 常规加密算法

    非对称加密: RSA:https、苹果的p12证书等 认证都是通过RSA--公钥加密,私钥解秘--私钥加密,公钥解...

  • 从零学习 CA 系列 (五) -- 常见非对称加密算法分析

    参考文献 《PKI/CA 与数字证书技术大全》书籍 ECC加密算法入门介绍如有理解bug, 请大家指正。 非对称加...

  • USBKey访问、Delphi、JS

    JavaScript方式 Delphi方式获取证书 证书遍历 加密 判断签名证书、加密证书

  • java数字证书

    生成证书 keyalg:指定RSA加密算法;sigalg:指定SHA1withRSA签名算法;validity:指...

  • openssl

    RSA 加密 关于diff更多使用 详细参考diff 签名 CA 证书 参考 数字签名是什么?

  • 椭圆曲线加密算法中的密谋

    公钥加密算法有两种,RSA 和 ECC,RSA 简单易懂但效率低,ECC 效率高,用 256 位秘钥抵得过 RSA...

网友评论

      本文标题:ECC加密证书与RSA证书

      本文链接:https://www.haomeiwen.com/subject/pckslktx.html