㈠ 如何导出cer证书的Base64编码信息
1、将证书双击,安装到IE中,如果是个人证书会安装到:在IE的 工具 -> internet选项 -> 内容 -> 证书 -> 个人
2、打开IE,在在IE的 工具 -> internet选项 -> 内容 -> 证书 -> 个人 中,找到这张证书,选中它
3、点击“导出”按钮
4、点击“下一步”,再点击“下一步”
5、选择“Base64编码X.509(.cer)”
6、点击“下一步”,一直到保存完毕
OK,cer证书的Base64编码格式已经生成完毕。
㈡ c#如何生成数字证书
using System;using System.Collections;using System.IdentityModel.Tokens;using System.Security.Cryptography.X509Certificates;// in BouncyCastle.Crypto.dllusing Org.BouncyCastle.X509;using Org.BouncyCastle.Math;using Org.BouncyCastle.Asn1;using Org.BouncyCastle.Crypto;using Org.BouncyCastle.Security;using Org.BouncyCastle.Asn1.X509;using Org.BouncyCastle.Crypto.Prng;using Org.BouncyCastle.Crypto.Generators;namespace ConsoleApplication1
{ class Program
{ static void Main(string[] args)
{ string password = "V3ry_S3kr37;-)"; string signatureAlgorithm = "SHA1WithRSA"; // Generate RSA key pair
var rsaGenerator = new RsaKeyPairGenerator(); var randomGenerator = new CryptoApiRandomGenerator(); var secureRandom = new SecureRandom(randomGenerator); var keyParameters = new KeyGenerationParameters(secureRandom, 1024);
rsaGenerator.Init(keyParameters); var keyPair = rsaGenerator.GenerateKeyPair(); // Generate certificate
var attributes = new Hashtable();
attributes[X509Name.E] = "[email protected]";//设置dn信息的邮箱地址
attributes[X509Name.CN] = "www.yi.com";//设置证书的用户,也就是颁发给谁
attributes[X509Name.O] = "Company yi.";//设置证书的办法者
attributes[X509Name.C] = "Zh";//证书的语言
//这里是证书颁发者的信息 var ordering = new ArrayList();
ordering.Add(X509Name.E);
ordering.Add(X509Name.CN);
ordering.Add(X509Name.O);
ordering.Add(X509Name.C); var certificateGenerator = new X509V3CertificateGenerator();
//设置证书序列化号
certificateGenerator.SetSerialNumber(BigInteger.ProbablePrime(120, new Random()));
//设置颁发者dn信息
certificateGenerator.SetIssuerDN(new X509Name(ordering, attributes));
//设置证书生效时间
certificateGenerator.SetNotBefore(DateTime.Today.Subtract(new TimeSpan(1, 0, 0, 0)));
//设置证书失效时间
certificateGenerator.SetNotAfter(DateTime.Today.AddDays(365));
//设置接受者dn信息
certificateGenerator.SetSubjectDN(new X509Name(ordering, attributes));
//设置证书的公钥
certificateGenerator.SetPublicKey(keyPair.Public);
//设置证书的加密算法
certificateGenerator.SetSignatureAlgorithm(signatureAlgorithm);
certificateGenerator.AddExtension(X509Extensions.BasicConstraints, true, new BasicConstraints(false));
certificateGenerator.AddExtension(X509Extensions.AuthorityKeyIdentifier, true, new AuthorityKeyIdentifier(SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(keyPair.Public))); // Key usage: Client authentication
certificateGenerator.AddExtension(X509Extensions.ExtendedKeyUsage.Id, false, new ExtendedKeyUsage(new ArrayList() { new DerObjectIdentifier("1.3.6.1.5.5.7.3.2") })); //创建证书,如果需要cer格式的证书,到这里就可以了。如果是pfx格式的就需要加上访问密码 var x509Certificate = certificateGenerator.Generate(keyPair.Private); byte[] pkcs12Bytes = DotNetUtilities.ToX509Certificate(x509Certificate).Export(X509ContentType.Pkcs12, password); var certificate = new X509Certificate2(pkcs12Bytes, password); // Derive security token and use it
var x509Token = new X509SecurityToken(certificate);
}
}
}
㈢ 数字证书只能导出cer格式的,咋办呢
看样子你在安装证书的时候选择了“不允许导出
私钥
”,所以是灰色的。私钥不能导出。你导出的只是证书,没有用处。
如果你的私钥没有别的备份,那就只能在本机使用了。或者去重新申请证书。
㈣ 求助https的ssl证书,怎么将key,crt格式证书转成cer格式的证书
先讲crt证书安装到本机,然后用IE 的导出证书功能就可以导出 cer证书!
㈤ 如何制作cer证书
cer证书是二进制编码的,所以获取到它的内容后做次转码就可以啦。
cer证书由p12导出(只不过cer是二进制,p12是base64,可以网上查der(二进制)转pem(base64)),导出命令:
keytool -export -alias p12client -keystore dlt.p12 -storetype PKCS12 -storepass 密码 -rfc -file p12.cer
读取cer公钥如下所示:
[css] view plain
function pem2der($pem_data) {
$begin = "KEY-----";
$end = "-----END";
$pem_data = substr($pem_data, strpos($pem_data, $begin)+strlen($begin));
$pem_data = substr($pem_data, 0, strpos($pem_data, $end));
$der = base64_decode($pem_data);
return $der;
}
function der2pem($der_data) {
$pem = chunk_split(base64_encode($der_data), 64, "\n");
$pem = "-----BEGIN PUBLIC KEY-----\n".$pem."-----END PUBLIC KEY-----\n";
return $pem;
}
$file = "898000000000001.cer";
$fd = fopen($file, 'r');
$p12buf = fread($fd, filesize($file));
var_mp(der2pem($p12buf));-----------------------:这里调用 der2pem 、pem2der 都可以,两种方式。
㈥ 签名软件,证书<cer>,密钥<key>等文件)怎么弄
第1步:每天中午11点去塞班论坛申请证书,下载“塞班专用签名工具”和“专用内key”,并在容电脑里安装签名工具。
第2步:导入证书,导入key(用鼠标右键点击)
第3步:签名。选中需要签名的软件,点击鼠标右键,“签名此文件”或“签名全部文件”。
㈦ java中 用到.cer的安全证书,如何通过openssl来生成这个证书
openssl貌似 linux系统里用的多, 也可以用java的keytool生成,jdk自带的.
㈧ java,已知加密字符串,怎么生成cer文件求代码
packagecom.tgtbj.dsf.certhelper;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.math.BigInteger;
importjava.security.KeyPair;
importjava.security.KeyPairGenerator;
importjava.security.KeyStore;
importjava.security.cert.Certificate;
importjava.security.cert.CertificateEncodingException;
importjava.security.cert.X509Certificate;
importjava.util.Date;
importjavax.security.auth.x500.X500Principal;
importorg.bouncycastle.x509.X509V3CertificateGenerator;
publicclassTT{
publicstaticvoidgenCertFile(StringcertPath,Stringpassword,
intkeysize,Stringalgorithm)throwsException{
//创建KeyStore
KeyStorestore=KeyStore.getInstance("PKCS12");
store.load(null,null);
//生成一对公私钥,这部分如果自己已经有了PublicKey,可以直接在下面使用,不用生成
KeyPairGeneratorkpg=KeyPairGenerator.getInstance("RSA");
kpg.initialize(keysize);
KeyPairkeyPair=kpg.generateKeyPair();
//这个字符串根据自己情况填
Stringissuer="C=CN,ST=BJ,L=BJ,O=SSS,OU=SC,CN=SSS";
Stringsubject=issuer;
=newX509V3CertificateGenerator();
certGen.setSerialNumber(BigInteger.valueOf(System.currentTimeMillis()));
certGen.setIssuerDN(newX500Principal(issuer));
certGen.setNotBefore(newDate(System.currentTimeMillis()-10*365
*24*60*60*1000));
certGen.setNotAfter(newDate(System.currentTimeMillis()+10*365*24
*60*60*1000));
certGen.setSubjectDN(newX500Principal(subject));
certGen.setPublicKey(keyPair.getPublic());//此处可直接传入线程的PublicKey
if(algorithm==null||algorithm.equals("")){
certGen.setSignatureAlgorithm("SHA256WithRSAEncryption");
}else{
certGen.setSignatureAlgorithm(algorithm);
}
X509Certificatecert=certGen.generateX509Certificate(keyPair
.getPrivate());
//私钥有现成的也可直接传入
store.setKeyEntry("alias",keyPair.getPrivate(),
password.toCharArray(),newCertificate[]{cert});
//导出为cer证书
try{
FileOutputStreamfos=newFileOutputStream(certPath+".cer");
fos.write(cert.getEncoded());
fos.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(CertificateEncodingExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(Stringargs[])throwsException{
genCertFile("D:/opop1","qwafrt",1024,"SHA1WithRSA");
}
}
㈨ cer数字证书如何生成
internat选项>>内容>>证书>>导出>>下一步>>不需要导出私钥,下一步>>第1个,下一步>>输入文件名,下一步>>完成
OK