C++ 启用或关闭TLS

这篇具有很好参考价值的文章主要介绍了C++ 启用或关闭TLS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

打开HP SMART一直转圈


前言

之所以发布这篇文章,是因为在使用HP smart打印软件的时候老进不去,网上查了百度说是TLS没打开,所以我就按照百度的方法再IE中进行打开,但是老是过段时间就又不行了,不知道被那个东西给关闭了。索性我就写个程序在启动HP SMART软件前自动打开。

一、原理

直接上图分析
为什么tls1.2总是被关掉,笔记,c++,windows,microsoft
就是直接操作注册表,网上百度出来的都是win7的。所以只能自己去调式IE了.TLS的功能位数是用火绒程序注册表监控来测试IE浏览器而得出的。这是基于windows10系统的注册表路径。win7可自行百度。

二、代码


#include <iostream>
#include<windows.h>
#include<tchar.h>
#include<sddl.h>
#define TLS1_0	7
#define TLS1_1	9
#define TLS1_2	11
//得到登录用户的SID用于拼接注册表路径
BOOL  GetLoginSid(WCHAR ** curSID)
{
	BOOL ret = FALSE;
	HANDLE hToken;
	if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken))
	{
		_tprintf(L"token打开失败\n");
		return ret;
	}
	DWORD cbSize;
	SID* sid;
	TOKEN_USER* User;
	cbSize = 0;
	GetTokenInformation(hToken, TokenUser, NULL, 0, &cbSize);
	if (!cbSize)
	{
		_tprintf(L"token信息查询失败\n");

		return ret;
	}
	User = (TOKEN_USER*)malloc(cbSize);
	GetTokenInformation(hToken, TokenUser, User, cbSize, &cbSize);
	
	ret=ConvertSidToStringSid(User->User.Sid, curSID);
	free(User);
	return ret;
}
BOOL RegTLSFunChange(WCHAR * curSID,DWORD bitIndex,BOOL open) {
	BOOL ret = FALSE;
	const HKEY key = HKEY_USERS;
	WCHAR subKey[128] = { 0 };
	const wchar_t* const subKeyAfter = L"\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
	wcscat_s(subKey, curSID);
	wcscat_s(subKey, subKeyAfter);
	const wchar_t* const valueName = L"SecureProtocols";
	DWORD result;
	DWORD retSize = sizeof(DWORD);
	RegGetValue(key,subKey,valueName,RRF_RT_DWORD,NULL,&result,&retSize);
	if(open)
		result = result | (1 << bitIndex);
	else
		result = result & ~(1 << bitIndex);
	HKEY openKey;
	RegOpenKeyEx(key, subKey, NULL, KEY_READ | KEY_WRITE, &openKey);
	if (RegSetValueEx(openKey, valueName, NULL, REG_DWORD, (BYTE*)&result, retSize) == ERROR_SUCCESS)
		ret = true;
	return true;
}
int main()
{
	setlocale(LC_ALL, ".utf8");
	WCHAR* curSID;
	GetLoginSid(&curSID);
	if (RegTLSFunChange(curSID, TLS1_2, TRUE))
		{
		_tprintf(L"注册表操作成功\n");
		system("start HP-SMART:");
		}
	else
		_tprintf(L"注册表操失败\n");

	system("pause");
}

三、测试

在关闭TLS1.2的时候,程序一直进不去。
为什么tls1.2总是被关掉,笔记,c++,windows,microsoft
启用TLS1.2后重启软件即可正常进入
为什么tls1.2总是被关掉,笔记,c++,windows,microsoft文章来源地址https://www.toymoban.com/news/detail-538880.html

到了这里,关于C++ 启用或关闭TLS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • apache和nginx的TLS1.0和TLS1.1禁用处理方案

    TLS协议其实就是网络安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性,TLS 1. 0 和TLS 1. 1 是分别是96 年和 06 年发布的老版协议。 TLS1.0和TLS1.1协议使用的是弱加密算法,比如DES、SHA-1、MD5、RC4等。比较容易受攻击,目前新版本的TLS协议已经更新到TLS1.2、

    2024年02月16日
    浏览(10)
  • TLS1.0协议漏洞修复

    TLS1.0协议漏洞修复

    漏洞描述:         远程服务接受使用TLS 1.0加密的连接。TLS 1.0有许多密码设计缺陷。TLS 1.0的现代实现减轻了这些问题,但是像1.2和1.3这样的TLS的新版本是针对这些缺陷而设计的,应该尽可能使用。截至2020年3月31日,为TLS 1.2及更高版本启用的终结点将不再与主要web浏览器

    2023年04月16日
    浏览(12)
  • TLS1.3 协议的加密过程

    TLS1.3 协议的加密过程

    记录一下 TLS1.3 的加密过程,如何协商会话秘钥 TLS 就是 HTTPS 的那一层加密协议,前身是SSL,但是现在SSL已经淘汰了。之前用wireshark 抓包看,现在的网站多是TLS1.2。 这层协议的主要流程大概是双方先通过非对称协商握手,得出一个对称密钥,然后再通过这个对称密钥加密进行

    2024年02月01日
    浏览(13)
  • HTTPS流量抓包分析解密(TLS1.2)

    HTTPS流量抓包分析解密(TLS1.2)

    本文的https流量分析基于之前自己生成的密钥、证书和搭建的支持https访问的apache服务器点此查看。 查看证书信息: 回顾前文对RSA算法的简介,公钥是(e,n),分别是 Exponent 和 Modulus 。 查看私钥信息: 由前文知私钥是(d,n)。私钥中的信息参考这篇博客: https://blog.csdn.net/KAlbertL

    2024年02月13日
    浏览(12)
  • 为什么C盘总是自己爆满

    为什么C盘总是自己爆满

    WIN+R 打开启动命令输入 %TEMP% 其实就是打开系统用户下的临时文件夹 文件夹下的文件都是应用的临时文件,删掉也会重复创建。选中所有文件直接shift+Delete直接删除不走回收站。 临时文件其实也不是很大 Windows的虚拟内存技术会拿出一部分硬盘空间充当内存使用,以缓解内存

    2023年04月08日
    浏览(18)
  • 详解gmssl和tls1.2握手流程分析及接口实现

    详解gmssl和tls1.2握手流程分析及接口实现

    通过阅读openssl源码具体分析ssl握手中的报文交互流程,包括发送和处理每个报文所做的主要事情。同时分析ssl协议中的一些主要问题,包括tls和gmssl的区别、单向认证和双向认证、两种会话复用方式对比,调用openssl接口实现ssl客户端和服务端之间的通信。 注意: TLS1.2中密钥

    2024年02月10日
    浏览(12)
  • 为什么云并不总是足够的

    为什么云并不总是足够的

    虽然人们普遍认为云是未来,但云仍然有多种形式,理解每种形式的各自优点至少可以说是模糊的。   行业分析师有时会争论单租户与多租户部署的优缺点。虽然单租户部署在最近可能是某些组织的可行解决方案,但多租户部署为希望实现运营现代化的组织提供了许多好处。

    2024年02月12日
    浏览(12)
  • 为什么在Python中总是使用【字典】这种类型呢?

    为什么在Python中总是使用【字典】这种类型呢?

    你好,我是安然无虞。 字典 dict 是一个无序、可变和有索引的集合,字典中不允许存在重复的成员。 在Python中, {} 表示一个空字典,同时 dict() 也表示一个空字典。例如: 说明一下: 字典是一种存储键值对的结构,键和值一一对应,根据键就能快速地找到其对应的值。 字

    2024年04月15日
    浏览(32)
  • 裁员为什么总是先裁技术人员?网友一针见血!

    裁员为什么总是先裁技术人员?网友一针见血!

    大家好,我是R哥。 最近看到一个有意思的裁员话题: 裁员为什么总是先裁技术人员? 网友的回复一针见血。。 房子盖起来了,还需要农民工么? 现在不是很多传统企业都在喊要数字化转型吗?技术至上嘛?为什么出现效益问题裁员,首先瞄准的就是技术部门呢? 1、外包

    2024年03月26日
    浏览(16)
  • 耳朵总是听到嗡嗡的声音 这是为什么 该怎么办

    耳朵总是听到嗡嗡的声音 这是为什么 该怎么办

    为什么会莫名听到嗡嗡的声音,这是什么因素导致的,吃什么药能缓解? 耳鸣,是一种缺乏外部声源情况下,耳内或颅内出现的嗡嗡、嘶鸣、车笛、喇叭等不成形的异常声幻觉。这种情况可能是一种声音,也可能是多种声音混合出现,当出现的时候往往会持续一段时间。 耳

    2023年04月17日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包