可执行程序Exe数字签名获取 以及认证 清疚 2022-05-19 12:39 293阅读 0赞 主要函数说明: 验证文件数字签名是否有效可以使用函数 WinVerifyTrust 取得文件数字签名证书信息需要使用函数 CryptQueryObject。 一、数字签名获取 // FileSign.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <windows.h> #include <wincrypt.h> #include <wintrust.h> #include <stdio.h> #include <tchar.h> #pragma comment(lib, "crypt32.lib") #define ENCODING (X509_ASN_ENCODING | PKCS_7_ASN_ENCODING) typedef struct { LPWSTR lpszProgramName;//程序名 LPWSTR lpszPublisherLink;//发布者链接 LPWSTR lpszMoreInfoLink;//更多信息链接 } SPROG_PUBLISHERINFO, *PSPROG_PUBLISHERINFO; BOOL GetProgAndPublisherInfo(PCMSG_SIGNER_INFO pSignerInfo, PSPROG_PUBLISHERINFO Info); //获取时间戳日期 BOOL GetDateOfTimeStamp(PCMSG_SIGNER_INFO pSignerInfo, SYSTEMTIME *st); //打印证书信息 BOOL PrintCertificateInfo(PCCERT_CONTEXT pCertContext); //获取签名信息的时间戳 BOOL GetTimeStampSignerInfo(PCMSG_SIGNER_INFO pSignerInfo, PCMSG_SIGNER_INFO *pCounterSignerInfo)
还没有评论,来说两句吧...