签名
数字签名结构
typedef struct _WIN_CERTIFICATE {
DWORD dwLength;
WORD wRevision;
WORD wCertificateType; // WIN_CERT_TYPE_xxx
BYTE bCertificate[ANYSIZE_ARRAY];
} WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
-
dwLength: 此结构体的长度。
-
wRevision : 在 bCertificate 里面保护的证书的版本号,版本号有两种,如下表,一般为 0x0200。
值 信息 Win32 SDK中的宏定义名 0x0100 Win_Certificate的老版本 WIN_CERT_REVISION_1_0 0x0200 Win_Certificate的当前版本 WIN_CERT_REVISION_2_0 -
wCertificateType:证书类型,有如下表格中的类型:
值 信息 Win32 SDK中的宏定义名 0x0001 X.509证书 WIN_CERT_TYPE_X509 0x0002 包含PKCS#7的SignedData的结构 WIN_CERT_TYPE_PKCS_SIGNED_DATA 0x0003 保留 WIN_CERT_TYPE_RESERVED_1 0x0004 终端服务器协议堆栈证书签名 WIN_CERT_TYPE_TS_STACK_SIGNED -
bCertificate:包含一个或多个证书,一般来说这个证书的内容一直到安全表的末尾。bCertificate的字节大小要求8字节对齐。
点击关注,共同学习!
安全狗的自我修养