为 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

相关文章

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的