`

.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: 。 该项目以前被称为“ ...

    Java 调用.NET web服务

    在.NET中创建的Web服务会自动生成WSDL文件,Java开发者需要这个文件来理解和调用服务。 2. **JAX-WS**: JAX-WS是Java SE和Java EE中用于创建和消费Web服务的标准API。它允许Java应用程序通过SOAP消息与Web服务进行...

    nginx ssl证书的生成

    【标题】:“Nginx SSL证书的生成” 在互联网安全领域,SSL(Secure Sockets Layer)证书是确保网站数据传输安全的重要工具。Nginx,作为一个高性能的HTTP和反向代理服务器,广泛应用于各种Web服务中。配置Nginx...

    Visual C#.NET中文版Web服务开发基础

    在Visual C#.NET中,WSDL文件自动生成,以便客户端可以自动发现和调用Web服务。 5. **调试与测试Web服务** 使用Visual Studio的内置工具,开发者可以直接在IDE中调试Web服务。同时,可以使用Web服务测试客户端(如...

    基于.NET的web售票系统

    在Web售票系统中,.NET框架提供了基础架构,包括内存管理、安全性、跨语言互操作性以及对Web服务的支持。 2. **ASP.NET**:作为.NET框架的一部分,ASP.NET是一个用于构建动态网站、Web应用程序和Web服务的开发平台...

    COMPARISON OF SOAP BASED TECHNOLOGIES: .NET REMOTING AND ASP.NET WEB SERVICES

    ASP.NET Web Services可以利用WS-Security标准增强安全性,而.NET Remoting则依赖于Windows身份验证和SSL加密来确保通信的安全。 ### 六、结论 在分布式系统中,SOAP作为通信协议的核心,通过其简洁和可扩展性的...

    C# aps.net MVC web微信三方扫码登录与授权登录

    10. **部署与上线**:完成开发后,需要将项目部署到生产环境中,这可能涉及IIS服务器配置、数据库连接设置以及SSL证书的安装,确保用户能够安全、稳定地使用微信登录功能。 通过这个项目,开发者可以深入了解C# ASP...

    第五篇 Web Service.rar_service_web .net_web service

    在.NET框架中,Web服务的实现主要依赖于ASMX(ASP.NET Web Service)和WCF(Windows Communication Foundation)。本篇文章将深入探讨.NET框架下创建和使用Web服务的相关知识点。 一、ASMX Web服务 1. ASMX简介:...

    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...

    asp.net web 律师网站案例

    在这个案例中,我们将深入探讨如何利用ASP.NET Web 技术来构建一个律师网站。 1. **网站架构设计** - **MVC模式**:ASP.NET Web支持Model-View-Controller(MVC)设计模式,这有助于分离业务逻辑、数据模型和用户...

    简单便捷的网站证书生成工具

    标题中的“简单便捷的网站证书生成工具”表明这是一种工具,可以帮助用户轻松创建并管理SSL/TLS证书。 SSL(Secure Sockets Layer)和其继任者TLS(Transport Layer Security)协议是互联网安全的基础,它们通过...

    asp.net网站发布步骤

    在实际操作中,可能会涉及到更多细节,如SSL证书配置、URL重写、错误处理、性能优化等。理解并掌握这些步骤对于任何ASP.NET开发者来说都是至关重要的,它可以帮助你成功地将应用程序从开发环境转移到生产环境,让...

    免费HTTPS证书生成工具 win-acme.v2.1.13.978.x64

    8. `Web_Config.xml`:可能是一个示例或模板文件,指导用户如何配置网站的IIS(Internet Information Services)设置,以使用新生成的HTTPS证书。 9. `Scripts`:可能包含辅助脚本或自动化任务,用于扩展win-acme的...

    浅析ASP.NET生成随机密码,可以实现网上通过邮箱激活功能

    ### ASP.NET生成随机密码并通过邮箱实现用户激活功能 在当今互联网时代,为了保障用户数据的安全性和提高用户体验,网站注册及登录过程中的账户安全措施显得尤为重要。其中,通过电子邮件验证用户身份并激活账户是...

    权限管理系统 asp.net

    在这个权限管理系统中,开发者使用ASP.NET的技术特性,实现了对用户权限的有效控制,并通过动态生成TREEVIEW来直观展示权限结构。 1. ASP.NET基础:ASP.NET是.NET框架的一部分,提供了一种用于构建Web应用程序的...

    Asp.net 中的ExcelHelper.rar

    本示例“ExcelHelper.rar”聚焦于ASP.NET中处理Excel数据与DataTable的交互,这对于数据分析、报表生成和数据导入导出场景非常实用。 首先,让我们了解Excel和DataTable的基本概念。Excel是一种广泛使用的电子表格...

    java 调用https webservice实例及axis包

    在实际开发中,你还需要了解和处理如证书链、信任管理、私钥管理等SSL/TLS相关的概念。同时,对于企业环境,你可能需要与企业的PKI(公钥基础设施)系统集成,处理更复杂的证书管理问题。 总的来说,使用Apache ...

    C# 开发的一个创建证书的例子

    在网络安全中,SSL/TLS证书用于确保网站和服务器之间的通信安全;开发者则常用证书来进行代码签名,确保软件的完整性。 在C#中,我们可以利用.NET框架提供的System.Security.Cryptography命名空间来处理证书相关...

    .NET SECURITY AND CRYPTOGRAPHY

    书中的例子涵盖了证书的生成、存储和验证,这对于理解和处理HTTPS连接以及服务器身份验证至关重要。作者还介绍了如何实现数据完整性检查,防止数据在传输过程中被篡改,以及如何使用数字签名来验证代码的来源和完整...

Global site tag (gtag.js) - Google Analytics