① 怎样根据已有的公钥和私钥生成数字证书
openssl genrsa -des3 -out server.key 1024
运行时来会提示输入密码,此密码用源于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!
去除key文件口令的命令:
openssl rsa -in server.key -out server.key!
② 如何生成用于SSL/TLS的数字证书
建议你这样试试看:
目前项目需要SSL证书的域名列好。
淘宝中找到Gworg,选择对应的SSL证书,通常用的是通配符或者多域名。
将域名发送给Gworg,并且根据提示完成域名DNS解析认证。
下载证书解压后,使用对应的环境证书配置到服务器。
这样做的好处:中间交易更安全,快速签发省心省力,Gworg注册更有保障。
注意事项:申请SSL证书必须确定域名可以正常解析,签发好的证书,无法变更域名。
③ cer数字证书如何生成
internat选项>>内容>>证书>>导出>>下一步>>不需要导出私钥,下一步>>第1个,下一步>>输入文件名,下一步>>完成
OK
④ 数字证书生成集中生成模式与什么模式
这个证书集中生成模式是什么模式?这个证书集中生成模式是什么模式?
⑤ 如何办理数字证书
不知道您说的数字证书是不是SSL证书,如果是,它的申请步骤如下:
第一步:将CSR提交回到代理商答
CSR(Certificate Signing Request)文件必须由用户自己生成,也可以利用在线CSR生成工具。选择要申请的产品,提交一个新的订单,并将制作好的CSR文件提交。
第二步 资料提交到CA
当收到您的订单和CSR后,如果是域名验证型证书(DV SSL证书),在域名验证之后10分钟左右就可颁发证书,若是其他类型证书则是需要通过CA机构进行验证之后才可颁发。
第三步 发送验证邮件到管理员邮箱
权威CA机构获得资料后,将发送一封确认信到管理员邮箱,信中将包含一个 对应的链接过去。每一个订单,都有一个唯一的PIN以做验证用。
第四步 邮件验证
点击确认信中的链接,可以访问到CA机构验证网站,在验证网站,可以看到该订单的申请资料,然后点击”I Approve”完成邮件验证。
第五步 颁发证书
在用户完成邮件验证之后,CA机构会将证书通过邮件方式发送到申请人自己的邮箱,当用户收到证书后直接安装就可以了。若安装存在问题,我们是提供免费证书安装服务的。
⑥ ssl数字证书可以自己生成吗
您好!
SSL证书可以自己申请,当然他不会被浏览器信任。所以正确途径登陆Gworg申请SSL数字证书,确保浏览器信任,比如:网络搜索、360搜索打开网站显示信任一样。申请方法:网页链接
⑦ 如何用makecert生成数字证书!
证书创建工具 (Makecert.exe)
.NET Framework 2.0
其他版本
24(共 31)对本文的评价是有帮助 - 评价此主题
证书创建工具生成仅用于测试目的的 X.509 证书。它创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。此工具还将密钥对与指定发行者的名称相关联,并创建一个 X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。
Makecert.exe 包含基本选项和扩展选项。基本选项是最常用于创建证书的选项。扩展选项提供更多的灵活性。
一定不要将此工具生成的证书私钥存储在 .snk 文件中。如果需要存储私钥,则应使用密钥容器。有关如何在密钥容器中存储私钥的更多信息,请参见如何:将非对称密钥存储在密钥容器中。
警告
应使用证书存储区来安全地存储证书。此工具使用的 .snk 文件以不受保护的方式存储私钥。创建或导入 .snk 文件时,在使用期间应注意保证其安全,并在使用后将其移除。
makecert [options] outputCertificateFile
参数
说明
outputCertificateFile
测试 X.509 证书要写入的 .cer 文件的名称。
基本选项
选项
说明
-n x509name
指定主题的证书名称。此名称必须符合 X.500 标准。最简单的方法是在双引号中指定此名称,并加上前缀 CN=;例如,"CN=myName"。
-pe
将所生成的私钥标记为可导出。这样可将私钥包括在证书中。
-sk keyname
指定主题的密钥容器位置,该位置包含私钥。如果密钥容器不存在,系统将创建一个。
-sr location
指定主题的证书存储位置。Location 可以是 currentuser(默认值)或 localmachine。
-ss store
指定主题的证书存储名称,输出证书即存储在那里。
-# number
指定一个介于 1 和 2,147,483,647 之间的序列号。默认值是由 Makecert.exe 生成的唯一值。
-$ authority
指定证书的签名权限,必须设置为 commercial(对于商业软件发行者使用的证书)或 indivial(对于个人软件发行者使用的证书)。
-?
显示此工具的命令语法和基本选项列表。
-!
显示此工具的命令语法和扩展选项列表。
扩展选项
选项
说明
-a algorithm
指定签名算法。必须是 md5(默认值)或 sha1。
-b mm/dd/yyyy
指定有效期的开始时间。默认为证书的创建日期。
-cy certType
指定证书类型。有效值是 end(对于最终实体)和 authority(对于证书颁发机构)。
-d name
显示主题的名称。
-e mm/dd/yyyy
指定有效期的结束时间。默认为 12/31/2039 11:59:59 GMT。
-eku oid[,oid]
将用逗号分隔的增强型密钥用法对象标识符 (OID) 列表插入到证书中。
-h number
指定此证书下面的树的最大高度。
-ic file
指定颁发者的证书文件。
-ik keyName
指定颁发者的密钥容器名称。
-iky keytype
指定颁发者的密钥类型,必须是 signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入 1 表示交换密钥,传入 2 表示签名密钥。
-in name
指定颁发者的证书公用名称。
-ip provider
指定颁发者的 CryptoAPI 提供程序名称。
-ir location
指定颁发者的证书存储位置。Location 可以是 currentuser(默认值)或 localmachine。
-is store
指定颁发者的证书存储名称。
-iv pvkFile
指定颁发者的 .pvk 私钥文件。
-iy pvkFile
指定颁发者的 CryptoAPI 提供程序类型。
-l link
到策略信息的链接(例如,一个 URL)。
-m number
以月为单位指定证书有效期的持续时间。
-nscp
包括 Netscape 客户端身份验证扩展。
-r
创建自签署证书。
-sc file
指定主题的证书文件。
-sky keytype
指定主题的密钥类型,必须是 signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入 1 表示交换密钥,传入 2 表示签名密钥。
-sp provider
指定主题的 CryptoAPI 提供程序名称。
-sv pvkFile
指定主题的 .pvk 私钥文件。如果该文件不存在,系统将创建一个。
-sy type
指定主题的 CryptoAPI 提供程序类型。
示例
下面的命令创建了一个由默认测试根颁发的测试证书并将其写入 testCert.cer。
makecert testCert.cer
下面的命令创建了一个由默认测试根颁发的证书并将其保存到证书存储区。
makecert -ss testCertStore
下面的命令创建了一个由默认测试根颁发的证书并将其保存到证书存储区。它将证书显式地放入 currentuser 存储区。
makecert -ss testCertStore -sr currentuser
下面的命令使用主题的密钥容器和证书主题的 X.500 名称创建一个测试证书,并将其写入 textXYZ.cer。
makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer
下面的命令创建了一个由默认测试根颁发的证书和一个 .pvk 文件,并将此证书同时输出到存储区和该文件。
makecert -sv testCert.pvk -ss testCertStore testCert.cer
下面的命令创建了一个由默认测试根颁发的证书和一个密钥容器,并将此证书同时输出到存储区和该文件。
makecert -sk myTestKey -ss testCertStore testCert.cer
下面的命令创建一个自我签署的证书,指定使用者名称为“CN=XYZ Company”,指定有效期的起始和结束时间,将密钥放入 my 存储区,指定并交换密钥,并且使私钥可导出。
makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my
下面的命令创建了一些证书并将它们保存到存储区。第一个命令使用默认测试根创建了一个证书并将其保存到存储区。第二个命令使用新创建的证书创建了另一个证书,并将第二个证书保存到另一个存储区。
makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore
下面的命令创建了一些证书并将它们保存到存储区。第一个命令将证书保存到 my 存储区。第二个命令使用新创建的证书创建了另一个证书。因为 my 存储区中存在多个证书,所以第二个命令使用公用名称来标识第一个证书。
makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore
下面的命令创建了一些证书并将它们保存到文件和存储区。第一个命令使用默认测试根创建了一个证书并将其保存到 my 存储区和一个文件。第二个命令使用新创建的 testCert.cer 证书创建了另一个证书。因为 my 存储区中存在多个证书,所以第二个命令使用证书文件名来唯一标识第一个证书。
makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore
请参见
参考
.NET Framework 工具
发行者证书测试工具 (Cert2spc.exe)
SDK 命令提示
⑧ 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);
}
}
}
⑨ 如何利用keytool工具生成数字证书
查看JDK1.6是否安装,出现如下界面说明JDK已经安装