`

.net中生成ssl web证书

阅读更多
为站点加上证书之后,访问站点就需要使用 https:// 协议访问了,但前提就是要先去获取一个证书。你可以从证书颁发机构(如 Verisign)获得 基于 Internet 的客户端进行 SSL 通信所需的证书。
但是,如果是为了测试,您可以使用名为 MakeCert.exe 的工具创建一个测试证书。MakeCert.exe 可以从 Microsoft .NET Framework 中获得。(位置在:F:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin)。MakeCert.exe 也可从 Platform SDK 中获得。MakeCert.exe 用于创建 X.509 证书。它为数字签名创建公钥和私钥对,并将其存储在证书文件中。此工具也将密钥对与指定发布服务器相关联,创建将用户指定的名称绑定到密钥对公共部分的 X.509 证书。

若要为主机名 (MyWebServer) 对应的服务器创建 SSL 证书,可以使用下列选项执行 MakeCert:

makecert -r -pe -n CN="MyWebServer" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine

-sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

命令行开关

-r

创建自我签署的证书。自我签署的证书是指那些不是由证书颁发机构签署的证书。因为它不是由证书颁发机构签署的,所以可用于 SSL 所需的加密,但不可用于服务器身份验证。

-n

指定服务器名称。此名称必须符合 X.500 标准。最简单的方法是指定带有双引号且前面有 CN= 的名称。

-eku

将一些以逗号分隔的增强型密钥用法对象标识符 (OID) 指定到证书中。对于 SQL Server 2005,需要一个对具有 1.3.6.1.5.5.7.3.1 (szOID_PKIX_KP_SERVER_AUTH) OID 的服务器身份验证有效的 SSL 证书。

-ss

指定保存创建的证书的证书存储区。虽然可以将创建的证书保存到证书存储区的任何位置,但我们建议将证书保存在 my 存储区中。

-sr

指定证书所在的证书存储区。位置既可以是 currentuser (默认),也可以是 localmachine。因为此证书是为服务创建的,所以应将它放置在本地计算机中。

-sky

指定证书密钥类型。此开关的值必须为 signature、exchange 或整数(如 4)。对于 RSA 公钥交换算法,此处必需是 exchange。这是用于加密和解密会话密钥的密钥类型。

-sp

指定 CryptoAPI 提供程序名称。对于为 SQL Server 创建的证书,可以将其设置为 Microsoft RSA SChannel Cryptographic Provider。

-sy

指定 CryptoAPI 提供程序类型。如果提供程序是 Microsoft RSA SChannel Cryptographic Provider,则此开关的值为 12。

其他命令行开关

-b

以 mm/dd/yyyy 格式指定证书有效期的起始时间的日期值。默认值为证书的创建日期。

-e

以 mm/dd/yyyy 格式指定证书有效期的结束时间的日期值。如果无其他设置,则默认值为 12/31/2039 11:59:59 GMT。

示例

下面的示例说明了如何使用 MakeCert 和其他选项创建证书。

makecert -r -pe -n "CN= WebServerName" -b 01/01/2000 -e 01/01/2036
-eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange
-sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

创建证书后,您可以从证书的 MMC 或使用工具(如 CertUtil)来获得证书哈希。使用 CertUtil,可以列出刚刚创建的证书。

C:\>certutil -store "my" "WebServerName"

================ Certificate 2 ================
Serial Number: e302d3a7a831c9884c0dd736f24825e6
Issuer: CN=MySQLServerName
Subject: CN=MySQLServerName
Signature matches Public Key
Root Certificate: Subject matches Issuer
Cert Hash(sha1): d2 2f 9a 7f 18 cb ed 13 a1 3e be e5 32 69 6c 4b ad ba b9 30
Key Container = 956cbc46-f005-4aeb-b521-7c313f2ccd10
Provider = Microsoft RSA SChannel Cryptographic Provider
Encryption test passed
CertUtil: -store command completed successfully.
分享到:
评论

相关推荐

    LettuceEncrypt:免费,自动为ASP.NET Core Web应用生成HTTPS证书

    启用后,您的Web服务器将在启动过程中自动生成HTTPS证书。 然后,它将Kestrel配置为对所有HTTPS通信使用此证书。 请参阅以开始使用。 由创建和开发, :red_heart: 从西雅图 :hot_beverage: 。 该项目以前被称为“ ...

    generate-dotnet-dev-certificate:Bash脚本生成一个自签名的开发人员证书,Ubuntu信任该证书用于ASP.Net Core开发

    在Ubuntu上为ASP.Net Core生成开发人员证书问题要在Ubuntu上开发ASP.Net Core Web Apps,您需要生成自签名的开发人员证书。 在Windows和Mac OS X上使用'dotnet dev-certs https --trust'可以很好地工作,但在Linux...

    亮剑.NET深入体验与实战精要2

    7.10 Web Service开发中需要注意的问题 316 本章常见技术面试题 320 常见面试技巧之经典问题巧回答 320 本章小结 321 第8章 用户体验的杀手锏—— Ajax 323 8.1 Ajax概述 324 8.1.1 什么是Ajax 324 8.1.2 Ajax技术的...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...

    亮剑.NET深入体验与实战精要3

    7.10 Web Service开发中需要注意的问题 316 本章常见技术面试题 320 常见面试技巧之经典问题巧回答 320 本章小结 321 第8章 用户体验的杀手锏—— Ajax 323 8.1 Ajax概述 324 8.1.1 什么是Ajax 324 8.1.2 Ajax技术的...

    ASP.NET4高级程序设计(第4版) 3/3

     《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...

    openssl生成认证证书的工具

    证书颁发机构提供的网站中去下载,具体的操作会为证书颁发机构给发的邮箱中会有相关的提示 好了,到这里都配置完了,重启tomcat,就可以看到效果。不过,看到的通常会是一个exception,大概是说APR not available ...

    GenHTTP:用纯C#编写的轻量级Web服务器,对第三方库的依赖性很小

    该项目的主要目的是为.NET编写的小型Web应用程序和Web服务提供服务,使开发人员可以专注于功能而不是处理基础结构。 例如,该项目的网站托管在Raspberry Pi上:产品特点使用在几分钟内设置新的Web服务或网站开箱即...

    浅谈ASP.net安全编程

    答案是肯定的,现在.NET构架在System.Security.Cryptography命名空间里提供了许多加密类可以利用,包括安全的数据编码和解码以及散列法、随机数字生成和消息身份验证。下面,我们来看看几个比较典型的例子,以供参考...

    ASP.NET Forms验证 实现子域名(SubDomain)共享登陆下的缺陷

     单点登录就是在多个web应用程序中,实现统一登录方式,一但登录了某web应用程序,其它相关联的web应用程 序都无需再次登录,一个地方退出,所有相关联的web应用程序都退出. 二、通过利用ASP.NET Forms验证模式 ...

    GrpcDemo

    grpc gRPC .NET 5.0 Web模板浏览并使用安装: $ dotnet tool install -g x$ x new grpc ProjectName请参考gRPC文档以了解有关ServiceStack gRPC和SSL配置的更多信息: 默认情况下,它使用ASP.NET Core的受信任的开发...

    nas-compose:docker-compose我的私人NAS的文件

    balancer/cert的SSL balancer/cert是自签名的,并且当计算机暴露于互联网(也称为Internet)时,不应使用SSL证书我使用的覆盖功能使local.net在我的LAN中解析 描述: Docker映像更新的通知程序将diun/.env.example...

    urls-md:将URL转换为Markdown链接

    urls-md 将URL转换为Markdown链接和图像 →→创建Markdown链接和图像 ...https://github.global.ssl.fastly.net/images/modules/logos_page/GitHub-Mark.png 至 [Yo Polymer – A Whirlwind Tour Of Web Component

    java源码包---java 源码 大量 实例

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    java源码包2

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax...

    JAVA上百实例源码以及开源项目源代码

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    JAVA上百实例源码以及开源项目

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    java源码包3

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax...

Global site tag (gtag.js) - Google Analytics