为 WinHTTP 配置SSL\TLS安全协议

2023-11-03 14:20

本文主要是介绍为 WinHTTP 配置SSL\TLS安全协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文将介绍如何使用 DefaultSecureProtocols 注册表项配置 Windows HTTP 服务 (WinHTTP) 的安全协议。
注册表项 DefaultSecureProtocols 允许我们指定当使用了 WINHTTP_OPTION_SECURE_PROTOCOLS 标志时可以使用哪些 SSL \TLS协议。 该配置使得构建为使用 WinHTTP 默认标志的应用程序能够使用较新的 TLS 协议,或者不需要对应用程序进行任何更新便可阻止较旧的基于 SSL 的协议。

配置WinHTTP安全协议的先决条件

  • 使用 WINHTTP_OPTION_SECURE_PROTOCOLS 计算 DefaultSecureProtocols 的值。

  • 确认你的账号权限对系统具有管理员权限。

  • 确保计算机已安装 PowerShell。

配置 DefaultSecureProtocols

若要添加和设置 DefaultSecureProtocols 注册表项,请执行以下操作:

X86计算机

  1. 打开提升的 PowerShell 命令提示符。

  2. 若要创建和设置 DefaultSecureProtocols 注册表项,请运行以下命令(将 {value} 替换为你在计算值中选择的 DefaultSecureProtocols 值)。

Get-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" | New-ItemProperty -Name "DefaultSecureProtocols" -Value "{value}"
  1. 重启计算机或重新启动使用 WinHTTP 的任何服务。

X64计算机

  1. 打开提升的 PowerShell 命令提示符。

  2. 若要创建和设置 DefaultSecureProtocols 注册表项,请运行以下命令(将 {value} 替换为你在计算值中选择的 DefaultSecureProtocols 值)。

Get-Item -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" | New-ItemProperty -Name "DefaultSecureProtocols" -Value "{value}"
  1. 重启计算机或重新启动使用 WinHTTP 的任何服务。

WINHTTP_OPTION_SECURE_PROTOCOLS

设置一个无符号长整数值,该值指定哪些安全协议是可接受的。

  • Windows 11、Windows 10 和 Windows 8.1。 默认情况下,仅启用 SSL3、TLS1.0、TLS1.1 和 TLS1.2。
  • Windows 8 和 Windows 7。 默认情况下,仅启用 SSL3 和 TLS1。
    该值可以是以下一个或多个值的组合。
术语说明
WINHTTP_FLAG_SECURE_PROTOCOL_ALL可以使用安全套接字层 (SSL) 2.0、SSL 3.0 和传输层安全性 (TLS) 1.0 协议。
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2可以使用 SSL 2.0 协议。
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3可以使用 SSL 3.0 协议。
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1可以使用 TLS 1.0 协议。
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1可以使用 TLS 1.1 协议。
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2可以使用 TLS 1.2 协议。
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3可以使用 TLS 1.3 协议。

注册表DefaultSecureProtocols 值

注册表值为 DWORD 位图。 要使用的值是通过添加与所需协议对应的值。

DefaultSecureProtocols 值协议已启用
0x00000008默认启用 SSL 2.0
0x00000020默认启用 SSL 3.0
0x00000080默认启用 TLS 1.0
0x00000200默认启用 TLS 1.1
0x00000800默认启用 TLS 1.2

推荐阅读

  • HTTP状态码301(永久重定向)不同Web服务器的配置方法
  • C/S架构中HTTP错误状态码原因分析及解决办法
  • Windows Server 2022 开始,DNS 客户端支持 DNS over-HTTPS (DoH)
  • Windows 11和Windows 2022 TLS/SSL(Schannel SSP)的加密套件
  • 一文了解Wi-Fi 7有哪些新的特性
  • DFS(分布式文件系统)与 DFSR(分布式文件系统复制)的区别

这篇关于为 WinHTTP 配置SSL\TLS安全协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/338770

相关文章

jdk1.8的Jenkins安装配置实践

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测... 目录Jenkins介绍Jenkins环境搭建Jenkins安装配置Jenkins插件安装Git安装配

Nginx更新SSL证书的实现步骤

《Nginx更新SSL证书的实现步骤》本文主要介绍了Nginx更新SSL证书的实现步骤,包括下载新证书、备份旧证书、配置新证书、验证配置及遇到问题时的解决方法,感兴趣的了解一下... 目录1 下载最新的SSL证书文件2 备份旧的SSL证书文件3 配置新证书4 验证配置5 遇到的http://www.cppc

Nginx之https证书配置实现

《Nginx之https证书配置实现》本文主要介绍了Nginx之https证书配置的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录背景介绍为什么不能部署在 IIS 或 NAT 设备上?具体实现证书获取nginx配置扩展结果验证

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

input的accept属性让文件上传安全高效

《input的accept属性让文件上传安全高效》文章介绍了HTML的input文件上传`accept`属性在文件上传校验中的重要性和优势,通过使用`accept`属性,可以减少前端JavaScrip... 目录前言那个悄悄毁掉你上传体验的“常见写法”改变一切的 html 小特性:accept真正的魔法:让

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba