OpenSSL.Net创建HTTPS用的自签名证书

作者:佚名 上传时间:2019-05-31 版权申诉

要为IIS开启https访问,需要先生成一个证书,找了找用openssl.net最省事,代码如下:


  1. //先用大整数来生成一个1024bit的密钥对
  2. RSA rsa = new RSA();
  3. BigNumber number = OpenSSL.Core.Random.Next(10, 10, 1);
  4. rsa.GenerateKeys(1024, number, null , null );
  5. CryptoKey key = new CryptoKey(rsa);
  6. //创建X509证书,Subject和Issuer相同
  7. X509Certificate x509 = new X509Certificate();
  8. x509.SerialNumber = ( int )DateTime.Now.Ticks;
  9. x509.Subject = new X509Name( "CN=DOMAIN" ); //DOMAIN为站点域名
  10. x509.Issuer = new X509Name( "CN=DOMAIN" );
  11. x509.PublicKey = key; //指定公钥
  12. x509.NotBefore = Convert.ToDateTime( "2011-1-1" ); //起始时间
  13. x509.NotAfter = Convert.ToDateTime( "2050-1-1" ); //失效时间
  14. x509.Version = 2;
  15. //用私钥签一下名
  16. x509.Sign(key, MessageDigest.MD5);
  17. //输出到crt文件中
  18. BIO x509bio = BIO.File( "C:\\CA.crt" , "w" );
  19. x509.Write(x509bio);
  20. //生成pfx文件,注意证书链必须是空的
  21. var certs = new OpenSSL.Core.Stack();
  22. PKCS12 p12 = new PKCS12( "PASSWORD" , key, x509, certs); //PASSWORD为保护密钥
  23. BIO p12Bio = BIO.File( "C:\\CA.pfx" , "w" );
  24. p12.Write(p12Bio);
  25. //清理
  26. rsa.Dispose();
  27. x509.Dispose();
  28. x509bio.Dispose();
  29. p12.Dispose();
  30. p12Bio.Dispose();

注意生成pfx时, 证书链必须是空的 ,不能把自己加进去,否则证书看起来虽然没问题,但是绑定到iis时会出错。






本文转自 BoyTNT 51CTO博客,原文链接: http://blog.51cto.com/boytnt/774885 ,如需转载请自行联系原作者

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
OpenSSL.Net创建HTTPS签名证书
要为IIS开启https访问,需要先生成一个证书,找了找用openssl.net最省事,代码如下: //先用大整数来生成一个10
创建签名证书源代码
创建自签名证书源代码是很适用于自签名证书的用途的!!!!
7Z
0B
2019-05-27 23:51
创建签名证书源代码
创建自签名证书源代码是很适用于自签名证书的用途的!!!!下载地址:https://dude6.com/q/a/2794314.html
如何在Node.js中创建签名HTTPS证书
在Node.js应用中使用HTTPS协议需要证书。本示例展示如何创建自签名的HTTPS证书,用于本地开发和测试环境。自签名证书在开发时非常有用,但不应用于生产环境。const https = req
Node.js 16.13.0
Node.js
2023-10-31 23:25
为nginx配置https签名证书
一、把证书准备好。 步骤与 使用OpenSSL自签发服务器https证书 所述大同小异。在这里再重复一次。 1、制作CA证书: ca
如何在HTTPS中使用签名证书
HTTPS是一种安全的网络通信协议,它采用SSL/TLS协议对数据进行加密和验证。在HTTPS通信中,使用数字证书对服务器进行身份验证。自签名证书是一种由服务器自己颁发的数字证书,它没有被第三方认证机
OpenSSL 1.1.1
Apache Web服务器
2023-03-12 04:25
JDK中利用keytool创建签名证书
NULL博文链接:https://yaodaqing.iteye.com/blog/790349
rar
0B
2019-06-04 18:49
使用Python SSL创建签名证书
该代码演示了如何在Python中使用SSL库来创建并使用自签名证书。通过生成自签名证书,用户可以在本地安全地测试SSL/TLS功能,而无需购买真实证书。此代码还演示了如何将SSL/TLS应用到简单的客
Python 3.x
Python 3.x标准库
2023-05-11 15:21
Nginx配置https-免费签名CA证书
一、为nginx配置https并自签名证书1、制作CA证书ca.key CA私钥:openssl genrsa -des3 -out ca.key 2048制作解密后的CA私钥(一般无此必
mkcert证书创建签名工具SSL证书链CA根证书颁发
可省去choco下载安装的步骤,直接使用mkcert创建和签名证书,通过mkcert-install命令创建ca根证书,傻瓜式零配置签发证书
EXE
0B
2020-05-29 04:28