相关疑难解决方法(0)

WinVerifyTrust检查特定签名?

我正在为Windows实现进程提升助手.这是一个将以提升模式运行并使用管理员权限启动其他程序而不显示其他UAC提示的程序.出于安全原因,我想确保只能执行使用我公司的Authenticode密钥进行数字签名的二进制文件.

的WinVerifyTrust函数获取我中途有,但它只是确保了二进制通过签署一些关键的就是信任的微软链的一部分.是否有一种相对简单的方法来执行Authenticode验证并确保它是由我们的私钥签名的?

c windows digital-signature winverifytrust

12
推荐指数
3
解决办法
1万
查看次数

使用C++在Windows上获取ssl证书

我试图在Windows上获取远程服务器的ssl证书.我发现的一个选择是使用openssl.互联网上一些帖子所指示的命令是:

openssl.exe s_client -showcerts -connect {REMOTE_SERVER_IP}:{REMOTE_SERVER_PORT}
Run Code Online (Sandbox Code Playgroud)

这很好用,但我的问题是上面的命令超时为300秒.证书本身打印速度非常快,当我在最初的几秒钟内得到所有我想要的东西时,我认为没有理由等待300秒.我仍然认为没有办法更改s_client上的timeout参数.所以我试图找到一种方法在一段时间后杀死Windows上的一个进程,但那里再没有运气.关于如何做到这一点的任何想法?如果有一些其他窗口方式来获取远程服务器ssl证书并将其存储在文件中,这也将完成这项工作.

编辑:根据布鲁诺的要求添加更多信息.我正在尝试创建一个c ++应用程序,它获取远程服务器的SSL证书并将其存储在文件中以供进一步处理.由于我的应用程序已经使用openssl.exe,我需要一个使用openssl.exe或标准Windows命令的解决方案(即不需要任何其他库).

EDIT2:我找到了一种方法来避免在linux中等待 - 只需创建一个空文件并将openssl s_client的输入重定向到它(或使用管道传递空输入).这适用于Windows,但使用旧版本的openssl(0.9.8l).我尝试使用0.9.8r和1.0.1b并将输入重定向到空文件没有帮助.

c++ windows ssl openssl ssl-certificate

3
推荐指数
1
解决办法
3608
查看次数