ASP.NETCore自己编程来生成自签名的服务器证书东邪独孤

如果项目不大,或者是客户公司内部使用,或者不想花钱购买证书,又或者用于开发阶段测试……完全可以使用自签名证书。

所谓自签,就是自己给自己签名颁发的证书,自给自足,丰衣足食。

生成证书的方法和工具很多,你可能会想到用以前.NETFrameworkSDK工具,你可能想到用OpenSSL工具。但是,与其用工具,还不如直接调用.NET自身的API,在项目中直接创建证书来得方便。密钥随机即可,创建证书后写入到.pfx文件中。这样做也很方便,有利于程序搬家。

好,鬼话不多说,咱们开始今天的表演。

首先,写一个类,简单粗暴易用。

publicclassCerMaker{publicstaticasyncTaskCreateSslCertAsync(stringsubName,DateTimebgDate,DateTimeendDate,stringoutFile,stringpassWd){//参数检查if(subNameisnullor{Length:<3}){thrownewArgumentNullException(nameof(subName));}if(endDate<=bgDate){thrownewArgumentException("结束日期应大于开始日期");}//随机密钥RSAkey=RSA.Create(1024);//创建CRTCertificateRequestcrt=new(subName,key,HashAlgorithmName.SHA256,RSASignaturePadding.Pkcs1);//创建自签名证书varcert=crt.CreateSelfSigned(bgDate,endDate);//将证书写入文件byte[]data=cert.Export(X509ContentType.Pfx,passWd);awaitFile.WriteAllBytesAsync(outFile,data);}}

一个类,一个静态方法,参数subName表示证书的标题文本,一般使用域名,比如CN=xpxp.org、CN=www.sb.edu.cn等。

参数outFile表示.pfx文件的保存路径,相对的绝对的都行,有写权限就行;

参数passWd表示给.pfx文件加密的密码,可以随便定义。

生成的过程如下:

1、RSA.Create方法创建密钥(包含公/私钥),内容是随机生成的,1024指密钥的长度为1024位,你也可以指定为4096位;

2、创建一个CertificateRequest实例:

CertificateRequestcrt=new(subName,key,HashAlgorithmName.SHA256,RSASignaturePadding.Pkcs1);第一个参数传的证书的标题,第二个参数是刚刚随机生成的密钥,第三个参数是哈希算法,此处选的是SHA256算法;第四个参数不用多想,就用PKCS1就行(这是块填充行为)。

3、调用CreateSelfSigned方法,就能创建证书了;

4、调用证书的Export方法把其导出为.pfx格式的数据;

5、把数据写入文件,收工。

---------------------------------------------

你看,多Easy的事,不用费心去找什么工具了,自己动一动手就成了。

然后,在ASP.NETCore项目里,咱们先检查一下证书文件存不存在,如果不存在,自动生成一个。

//先创建自签名证书conststringCER_FILE="host.pfx";conststringPASSWD="dagongji";conststringSUB_NAME="CN=万年坑玩具厂.com.cn";DateTimetoday=DateTime.Now;DateTimeendday=today.AddDays(365);if(!File.Exists(CER_FILE)){awaitCerMaker.CreateSslCertAsync(SUB_NAME,today,endday,CER_FILE,PASSWD);}

一般来说,项目的证书并不需要换来换去,所以,咱们可以把生成证书的代码写到一个控制台应用项目中,生成一个命令行工具,自己留着用,只需要执行它生成证书文件,再放到ASP.NETCore项目的目录下就可以了。

在build应用程序之前,配置一下Kestrel服务器,使用咱们自己生成的证书文件。

varbuilder=WebApplication.CreateBuilder(args);//配置证书builder.WebHost.ConfigureKestrel(opt=>{opt.ConfigureHttpsDefaults(cnncop=>{cnncop.ServerCertificate=newX509Certificate2(CER_FILE,PASSWD);});});varapp=builder.Build();这是用于独立启动的ASP.NETCore应用程序(使用内置的Kestrel服务器)。如果你用的IIS,那么证书是在IIS管理器中配置(IIS管理器有生成自签名证书的功能);如果你用的是nginx,也是在服务器的配置文件中配置证书,而不是在ASP.NETCore代码中。

由于证书是自己签给自己的,不是从权威机构买的,所以,当浏览器访问时,会有不安全提示。只要你确认是你自己的证书,或者客户知道这是他们自家可用的证书就可以了。浏览器肯定不认识自签证书的。

THE END
1.<自用文儿制作(自签名)证书脚本>script:certificate手机浏览器不能解析 NAS 主机名,如果用 DNS 就要变得太复杂。改回用 IP 方式来打个 Navigator 上这20来个在 docker 上面运行的 web apps 应该是最优解。 觉得证书还会再生成,就写了这个脚本 script: certificate-generator.sh 功能: openssl 安装包会自动检测并 https://blog.csdn.net/davenian/article/details/145417172
2.如何验证服务器的自签名证书腾讯云开发者社区服务器的自签名证书验证可以通过以下步骤进行: 获取服务器的自签名证书:自签名证书是由服务器自行生成的证书,没有经过第三方机构的认证。可以通过访问服务器的网站或使用命令行工具(如openssl)来获取证书。 验证证书的有效性:验证证书的有效性可以包括以下几个方面: https://cloud.tencent.com/developer/information/%E5%A6%82%E4%BD%95%E9%AA%8C%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E8%87%AA%E7%AD%BE%E5%90%8D%E8%AF%81%E4%B9%A6
3.创建自签名服务器证书创建存储库和基本配置后,下一步是为Logstash服务器创建自签名证书。 关于此任务 在此过程中,您可选择是否要将证书专用密钥中的口令加密。 加密是最安全的措施。 如果启用加密,那么 SSL 应用程序每次请求该证书时,都需要该口令。 但是,这项需求可能会造成自动化启动和重新启动期间发生问题,因为这些过程需要口令,但无https://www.ibm.com/docs/zh/oala/1.3.7?topic=servers-creating-self-signed-server-certificate
4.自身签名服务器如何登陆?Worktile社区需要注意的是,登录自身签名服务器可能存在风险,请确保凭证的安全性,定期修改密码并使用复杂的密码组合。同时,遵循服务器管理员的规定和安全规范,避免对服务器造成损害或违反规定。登录服务器后,要谨慎操作,避免误操作导致数据丢失或其他不可逆转的后果。 获取服务器的IP地址和端口号:首先需要获取自身签名服务器的IP地址https://worktile.com/kb/ask/1148037.html
5.签名验签服务器密码应用安全启明星辰签名验签服务器具有密钥安全存储、高速密码运算、证书管理等功能,能够实现用户身份验证、交易凭证检验和防抵赖等功能,同时提供完善的密钥管理机制,自身具备较强的安全防护能力。 技术优势 产品API服务接口符合《GM/T 0029-2014 签名验签服务器技术规范》; https://www.venustech.com.cn/new_type/qmyqfwq/
6.GM/T0029《签名验签服务器技术规范》,签名验签服务器的自检包括GM/T0029《签名验签服务器技术规范》,签名验签服务器的自检包括密码设备的自检和自身的自检,对()进行检查。检查不通过时应报警并停止工作。A.密码运算功能B.随机数发生器C.存储的敏感信息D.管理功能的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业https://www.shuashuati.com/ti/7c2c523f25fd48e5aff60df527ea3e6b.html?fm=bd192d11c6dfb74b4c128f26b19feed24b
7.签名验签服务器渔翁签名验签服务器严格按照国家签名验签服务器相关设计规范设计,采用国家密码局审批的密码算法,随机数发生器采用国家密码局审批的WNG-9真随机数发生器,具有数字签名,身份认证等功能,可为于电子商务,CA认证,网上银行等服务器端,提供高强度和高效率的密码服务https://www.fisec.cn/qmyq/
8.综治视联网系统链路及相关设备维护与综治视联网核心交换服务器法定代表人或被授权代表(签名): 日 期: 包二: 1、本项目采购清单 采购人确定本项目的核心产品(主要标的)公开事项,包括:视联网核心交换服务器、会议管理系统、会议录制服务系统、解码监播服务系统、监控联网管理调度系统、监控接入服务系统、监控共享服务系统。 http://www.longmen.gov.cn/lmxzdlyxxgk/ggzypz/zfcg/content/post_4499567.html
9.个人网络信息安全论文(精选10篇)建立网络各主机和对外服务器的安全保护措施,保证系统安全,利用防火墙对网上服务请求内容进行控制,使非法访问在到达主机前被拒绝,利用防火墙加强合法用户的访问认证,同时在不影响用户正常访问的基技术人员的配备不完善,无法应对大规模的网络攻击,需要相关技术企业的帮助,因此,高校应该和社会企业进行长时间的合作,在事件发生https://biyelunwen.yjbys.com/fanwen/xinxianquan/727543.html
10.软件授权码怎么生产出来的零代码企业数字化知识站在软件授权码生成过程中,数字签名可以确保授权码未被篡改。数字签名通常使用非对称加密算法生成,公钥用于验证签名,私钥用于生成签名。通过在授权码中加入数字签名,开发者可以有效地防止授权码被恶意修改或伪造。数字签名的使用不仅提高了授权码的安全性,还简化了验证过程,因为授权服务器只需验证签名的合法性即可。https://www.jiandaoyun.com/blog/article/436449/
11.签名及验签服务器51CTO博客已为您找到关于签名及验签服务器的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及签名及验签服务器问答内容。更多签名及验签服务器相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。https://blog.51cto.com/topic/qianmingjiyanqianfuwuqi.html
12.签名验签服务器签名验签服务器是用于服务端的适用于基于公钥密码基础设施专用的密码设备,主要提供基于PKI体系和数字证书的数字签名、验证签名等运算功能,可用于电子商务和电子政务系统中,可以保证关键业务信息的机密性、真实https://www.jnsec.net/208.html
13.66深圳CACA认证服务机构数字签名服务器是一套基于开放的公共钥密码标准(PKCS)开发,提供数字签名、数字信封等服务的硬件安全产品,满足用户在网络应用中行为不可抵赖,信息完整性、私密性等需求,提供高性能的密码运算服务。 产品功能 ?数字签名和验证:支持对数据、文件制作数字签名,签名结构符PKCS#7/PKCS#1标准,支持验证数字签名结果 https://www.szca.com/file/product/detail8.html
14.签名云服务器ECS阿里云为您提供专业及时的签名云服务器 ECS的相关问题及解决方案,解决您最关心的签名云服务器 ECS内容,并提供7x24小时售后支持,点击官网了解更多内容。https://www.aliyun.com/sswb/1214277.html
15.签名验签签名验签服务器CTI华测检测签名验签服务器是一款基于数字证书的安全应用产品,能够为应用系统提供身份认证、信息来源追溯、数据完整性检测、签名验签以及信息加解密等服务https://www.ctimall.com/serverArticle/515
16.35类商用密码产品你知道多少?可提供服务器密码机、金融数据密码机、签名验证服务器等多种类型的虚拟密码机;使用方式与传统密码机基本一致,方便传统业务平滑迁移至云环境。 30. 桌面型加密认证装置 一种小微型加密认证网关设备。产品基于国密算法实现身份认证、访问控制、数据加解密等功能。产品可自身配对使用或与其它加密认证网关类产品配合使用,解决https://www.secrss.com/articles/36207
17.签名验签服务器签名验签服务器是一款基于PKI体系和数字签名技术,遵循国家密码管理局发布的相关技术标准研制,对外提供数字签名和签名验证服务的专用密码产品,满足用户在网络交易中行为不可抵赖,信息完整性、机密性,以及交易方身份的真实性需求。 业务系统可通过调用标准API接口使用签名、验签服务。具有很好的通用性,能够平滑接入各种系统平台https://www.shudun.com/product/10.html
18.签名验签服务器业务系统与签名验签服务器之间采用 TCP/IP 协议通信,支持 Linux、银河麒麟、中标麒麟、 统信 UOS、Win10\Win7\XP等操作系统。 接口丰富 签名验签服务器 API 接口符合《通用密码服务接口规范》及《证书应用综合服务接口规范》国家标准接口规范,通用性好。签名验签服务器客户端支持FMAPI、PKCS#1、 PKCS#7、PKCS#11、https://www.anydef.com/Project_case_detail/1.html
19.签名验签服务器WT-SVS100签名验签服务器是一款高性能密码设备,能够对各类电子信息数据、电子文档等提供基于数字证书的数字签名服务,并可验证签名数据的真实性和有效性;支持不同CA的用户证书验证,提供基于CA/CRL/OCSP等多种方式的证书有效性验证。满足用户在网络行为中真实性、不可否认性、完整性、机密性等要求。 http://www.qasky.com/wentianliangzi/vip_doc/25742764.html
20.签名验签服务器保护关键业务信息真实可信签名验签服务器(Sign and Verify Server,简称SVS)是用于服务端为应用实体提供基于PKI体系和数字证书的数字签名、验证签名等运算功能的服务器,可以保证关键业务信息的真实性、完整性和不可否认性。 签名验签服务器严格遵照国密局颁布技术规范,符合GM/T 0029-2014《签名验签服务器技术规范》, 符合GM/T 0028-2014《密码https://www.wosign.com/Products/SVS.html