首先安装证书生成工具 OpenSSL 自行安装
一、创建根证书
  • 生成key文件,输入密码:
  openssl genrsa -des3 -out root.key 
  • 生成请求证书文件,如果安装路径发生改变,可以通过在下面命令后面添加-config openssl.cfg来指明配置文件路径
  openssl req -new -key root.key -out root.csr 
  • 生成一个10年期根证书 root.crt:
  openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt 
  分别在客户端或服务端安装根证书,windows上安装证书时,证书存储可选择“受信任的根证书颁发机构”
根证书的发行者:Common Name 不能跟服务端证书相同,此处案例用的:testssl.com,其余随便写
二、创建服务端证书
  • 生成key文件,输入密码
  openssl genrsa -des3 -out server.key 2048 
  • 生成请求证书文件,如果安装路径发生改变
  openssl req -new -key server.key -out server.csr 
  • 用根证书生成一个10年期证书 server.crt:
  openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in server.csr -out server.crt 
  • 生成.net core识别的证书文件server.pfx
  openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx 
 
服务端签发域名:Common Name 不能跟服务端证书相同,此处案例用的:api.testssl.com,其余随便写 同客户端证书
三、创建客户端证书
  • 生成key文件,输入密码
  openssl genrsa -des3 -out client.key 2048 
  • 生成请求证书文件,如果安装路径发生改变
  openssl req -new -key client.key -out client.csr 
  • 用根证书生成一个10年期证书 client.crt:
  openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in client.csr -out client.crt 
  • 生成.net core识别的证书文件client.pfx
  openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx 
四、创建服务端
见附件SSLClientValidationDemo
重点代码:
 
 
本机配置内网域名映射:C:\Windows\System32\drivers\etc\host文件 添加 127.0.0.1 api.testssl.com
 
启动服务端访问域名:https://api.testssl.com/home/index 此时浏览器强制要求客户端设置证书,无法访问接口
 
四、创建测试程序 见附件:SSLClientValidationClientDemo
 
客户端配置客户端证书,同时对服务端证书进行验证,接口可以调通
 

NetCoreWebapi双向SSL自建证书演示程序的更多相关文章

  1. AFNetWorking https请求 SSL认证 自制证书

    1.服务器会给一个证书,一般为.pem格式证书 2.将.pem格式的证书转换成.cer格式的证书 打开电脑自带终端 ,进入到桌面  cd Desktop 回车回到桌面Desktop Admin$ 输入 ...

  2. Tomcat 实现双向SSL认证

    大概思路: 使用openssl生产CA证书,使用keytool生产密钥库 实验环境:RHEL6.4+Tomcat8 一.生成CA根证书,并自签名 1.生成CA密钥 # genrsa [产生密钥命令] ...

  3. Tomcate配置单向双向SSL

    1.单向SSL 一.在Tomcate的service.xml文件中放开SSL配置 <!-- <Connector port="8443" protocol=" ...

  4. iOS 的三种自建证书方法https请求相关配置

    如果你的app服务端安装的是SLL颁发的CA,可以使用系统方法直接实现信任SSL证书,关于Apple对SSL证书的要求请参考:苹果官方文档CertKeyTrustProgGuide 这种方式不需要在B ...

  5. 自建证书配置HTTPS服务器

    1.写这篇博客的初衷是因为最近iOS9出来了,苹果官方默认要求使用HTTPS,所以自己想整一个HTTPS服务器,也想好好了解一下HTTPS通信,也知道了HTTPS其实就是在HTTP的基础上加上了SSL ...

  6. Loadrunner对https协议(单双向SSL)的web端性能测试

    1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...

  7. Https流程,openssl本地自建证书,抓包

    HTTPS:超文本安全传输协议,和HTTP相比,多了一个SSL/TSL的认证过程,端口为443在http(超文本传输协议)基础上提出的一种安全的http协议,因此可以称为安全的超文本传输协议.http ...

  8. 使用loadrunner对https协议(单双向SSL)的web端性能测试 (转)

    1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...

  9. HTTPS、SSL与数字证书介绍

    在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 名词解释 HTTPS:在HTTP(超文本传输协议)基础上提出的一种安全 ...

  10. 老李分享:SSL协议相关证书

    老李分享:SSL协议相关证书   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...

随机推荐

  1. MongoDB索引优化的艺术:从基础原理到性能调优

    title: MongoDB索引优化的艺术:从基础原理到性能调优实战 date: 2025/05/21 18:08:22 updated: 2025/05/21 18:08:22 author: cm ...

  2. IDEA 调试Java代码的两个技巧

      本文介绍两个使用IDEA 调试Java代码的两个技巧: 修改变量值 使用RuntimeException终止代码执行 修改变量值   在Java代码调试过程中,我们可以修改变量值,使其达到走指定分 ...

  3. 洛谷 P6006 [USACO20JAN]Farmer John Solves 3SUM G

    洛谷 P6006 [USACO20JAN]Farmer John Solves 3SUM G Problem 什么是3-SUM? 给你一个序列\(a\),求有多少组\((i,j,k)(1\le i&l ...

  4. [python] python抽象基类使用总结

    在Python中,抽象基类是一类特殊的类,它不能被实例化,主要用于作为基类被其他子类继承.抽象基类的核心作用是为一组相关的子类提供统一的蓝图或接口规范,明确规定子类必须实现的方法,从而增强代码的规范性 ...

  5. shell 使用awk 分析nginx日志取出400 的请求写入文件,然后php读取文件处理数据

    使用awk分析昨日 的nginx日志,将服务端未处理成功的400 请求,重新请求,将数据补进去 下面是代码,如果有类似问题的话,可以参考一下 #!/bin/bash ## 1. shell 获取日期获 ...

  6. C# 异步编程:从 async/await 到 Task 并行库的全面解析

    引言 在现代软件开发中,处理高并发和耗时操作是一个常见的挑战.C# 提供了强大的异步编程模型,它允许程序在执行耗时操作时不会阻塞主线程,从而提高程序的响应性和性能.其中,async/await 关键字 ...

  7. 基于袋鼠云实时开发平台开发 FlinkSQL 任务的实践探索

    随着业务的发展,实时场景在各个⾏业中变得越来越重要.⽆论是⾦融.电商还是物流,实时数据处理都成为了其中的关键环节.Flink 凭借其强⼤的流处理特性.窗⼝操作以及对各种数据源的⽀持,成为实时场景下的⾸ ...

  8. hot100之贪心

    买卖股票的最佳时期(121) class Solution { public int maxProfit(int[] prices) { int res = 0; int min = Integer. ...

  9. 用termius或者cmd等都能够连接上服务器,但是用vscode连接不上???

    最近实验室的服务器进行重装更新了,开始使用wsl,现在直接装Linux系统的Ubantu.服务器的ip.端口.个人名字都没有变.也就相当于之前在termius等远程连接的软件上都能够连上. 我习惯用v ...

  10. Bug报告 5C标准说明与示例

    以下是基于5C标准的缺陷报告编写指南及具体示例,帮助团队高效提交高质量Bug报告: Bug报告 5C标准说明与示例 1. Correct(准确) 要求:描述无歧义,技术细节精确,避免主观推测. 反例: ...