公司要为一个英国的客户提供由HTTP升级到HTTPS的服务,于是接触到了申请SSL证书这方面的内容。

一、总的来说,申请证书需要两步,一是创建CSR文件,二是在证书提供商购买证书并将CSR文件发给证书提供商。

二、要启用 HTTPS,Web 服务器和 SSL/TLS 证书需要一个相应的私有密钥。需要创建证书签名请求 (CSR)。然后,向证书颁发机构 (CA) 提供 CSR,CA机构负责签署 CSR 以生成证书。

在 Windows Server 上,使用文本编辑器创建一个名为 CertRequest.inf 的证书请求文件。如下所示。文件中指定的各部分、键和值,可参阅 Microsoft 的文档

[Version]
Signature = "$Windows NT$"
[NewRequest]
Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer"
HashAlgorithm = SHA256
KeyAlgorithm = RSA
KeyLength =
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
KeyUsage = 0xf0
MachineKeySet = True
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1

三、注意:

1、Signature = "$Windows NT$" 为默认,不用更改。

2、Subject = "C=<Country>,CN=<www.website.com>,O=<Organization>,OU=<Organizational-Unit>, L=<City>,ST=<State>"

生成CSR文件时,一般需要输入以下信息:

  • Organization Name(O):申请单位名称法定名称,可以是中文或英文
  • Organization Unit(OU):申请单位的所在部门,可以是中文或英文
  • Country Code(C):申请单位所属国家,只能是两个字母的国家码,如中国只能是:CN
  • State or Province(S):申请单位所在省名或州名,可以是中文或英文
  • Locality(L):申请单位所在城市名,可以是中文或英文
  • Common Name(CN):申请SSL证书的具体网站域名,支持中文域名(中文.com或中文.cn)

3、国家码可参考:https://country-code.cl/

4、如果不知道所使用的 CSP 的提供程序名称,可以在命令行运行 certutil – csplist。 命令将显示本地系统上可用的所有 Csp 的名称。

Microsoft提供了:

Microsoft Base Cryptographic Provider。一组可导出到其他国家或地区的广泛的基本加密功能。

Microsoft Strong Cryptographic Provider。Microsoft Base Cryptographic Provider 的扩展,在 Windows 2000及更高版本中提供。

Microsoft Enhanced Cryptographic Provider。Microsoft Base Cryptographic Provider 通过更长的密钥和其他算法得出的结果。

Microsoft AES Cryptographic Provider。Microsoft Enhanced Cryptographic Provider 支持 AES加密算法。

Microsoft DSS Cryptographic Provider。通过安全哈希算法(SHA)和数字签名标准(DSS) 算法提供哈希、数据签名和签名验证功能。

Microsoft Base DSS and Diffie-Hellman Cryptographic Provider。DSS Cryptographic Provider 的超集,同时支持使用安全哈希算法 (SHA)和数字签名标准 (DSS)算法进行 Diffie-Hellman密钥交换、哈希、数据签名和签名验证。

Microsoft Enhanced DSS and Diffie-Hellman CryptographicProvider。支持Diffie-Hellman 密钥交换(40位的 DES衍生品)、SHA哈希、DSS数据签名和 DSS签名验证。

Microsoft DSS and Diffie-Hellman/Schannel CryptographicProvider。支持哈希、使用DSS 进行数据签名、生成 Diffie-Hellman (D-H)密钥、交换 D-H密钥以及导出 D-H 密钥。此 CSP 支持 SSL3和 TLS1协议的密钥派生。

Microsoft RSA/Schannel Cryptographic Provider。支持哈希、数据签名和签名验证。算法标识符CALG_SSL3_SHAMD5 用于 SSL 3.0和 TLS 1.0
客户端身份验证。此 CSP支持 SSL2、PCT1、SSL3和TLS1 协议的密钥派生。

Microsoft RSA Signature Cryptographic Provider。提供数据签名和签名验证。

四、使用 Windows certreq 命令,通过CertRequest.inf 文件创建 CSR。

参考文章:

https://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/ssl-offload-windows-create-csr-and-certificate.html

https://blog.csdn.net/chenlu5201314/article/details/53419082

使用INF创建CSR文件的更多相关文章

  1. Linux下如何遍历指定目录下的所有文件并删除指定天数之前创建的文件

    脚本内容如下: #!/bin/bash function delete_file { days=$[$-] for i in `find $dir -type f -ctime +$days` do ...

  2. MFC 如何创建浏览文件夹的对话框

    如何创建浏览文件夹的对话框 如何创建浏览文件夹的对话框 CString CXXXXDlg::GetOpenfolderPath() { BROWSEINFO bi; ZeroMemory(&b ...

  3. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

  4. NPOI 2.0 创建Excel文件

    如果只是简单的处理的话,只需要引用下载压缩包里的 NPOI.dll (office 2003)或 NPOI.OOXML.dll (office 2007) 文件而已. using System; us ...

  5. 尝试打开或创建物理文件 REATE FILE 遇到操作系统错误 5(拒绝访问)

    尝试打开或创建物理文件 'E:\Library.mdf' 时,CREATE FILE 遇到操作系统错误 5(拒绝访问.). 最佳回答: 这是因为SQL Server的启动帐户(一般是system或某个 ...

  6. ActiveX: 如何用.inf和.ocx文件生成cab文件

    ActiveX: 如何用.inf和.ocx文件生成cab文件  

  7. Java Struts2 POI创建Excel文件并实现文件下载

    Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...

  8. C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)

    最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...

  9. 使用iText库创建PDF文件

    前言 译文连接:http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-itext-tutorial/ 对于excel文件的读 ...

随机推荐

  1. [实用分享]Kindle电子书格式AZW3转换为MOBI

    [实用分享]Kindle电子书格式AZW3转换为MOBI 思路:先拆解成源文件再转换成 MOBI 推荐首选这种方法.此方法的思路是,首先用 KindleUnpack 把 azw3 文件拆解成源文件,然 ...

  2. Codeforces_540_C

    http://codeforces.com/problemset/problem/540/C 简单bfs,注意结束条件. #include<iostream> #include<cs ...

  3. Flutter开发之Widget布局和页面导航

    一.水平布局Row Row控件可以分为非灵活排列和灵活排列两种,灵活的可以在外边加入Expanded使用 两者混用: import 'package:flutter/material.dart'; v ...

  4. 2、HotSpot虚拟机对象探秘

    基于使用优先的原则,以常用的虚拟机HotSpot和常用的内存区域Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配.布局和访问的全过程. 1.对象的创建 划分可用空间 在语言层面上,创 ...

  5. Go语言实现:【剑指offer】二叉树的镜像

    该题目来源于牛客网<剑指offer>专题. 操作给定的二叉树,将其变换为源二叉树的镜像. 示例: 输入: 4 / 2 7 / \ / 1 3 6 9 输出: 4 / 7 2 / \ / 9 ...

  6. [Effective Java 读书笔记] 第三章 对所有对象都通用的方法 第十---十一条

    第十条 始终覆盖toString() toString的实现可以使类使用起来更加舒适,在执行println等方法时打印出定制信息. 一单实现了自己的toString,指定输出的固定格式,在方法的文档说 ...

  7. 杭电-------2045不容易系列之(3)—— LELE的RPG难题(C语言写)

    /* 当最后一个块可以和第一个块染相同颜色时,答案为:3*pow(2,n-1);但是最后一块不能和第一块颜色相同,则减去和第一 块颜色相同的染色种数即可 3*pow(2,n-1)-ranse(n-1) ...

  8. IO流(字节流,字符流)

    一,概述 IO流(input output):用来处理设备之间的数据. Java对数据的操作是通过流的对象. Java用于操作流的对象都在IO包中. 流是一组有顺序的,有起点和终点的字节集合,是对数据 ...

  9. 9种分布式ID生成之 美团(Leaf)实战

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 更多优选 一口气说出 9种 分布式ID生成方式,面试官有点懵了 ...

  10. java 开发社区蔬菜、食品交易平台系统 源码

    开发环境:    Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+Mysql数据库 运行效果图 源码及原文链接:https://javadao.xyz/forum.php? ...