学习笔记- 签名

签名


数字签名结构

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字节对齐。

点击关注,共同学习!
安全狗的自我修养

github haidragon

https://github.com/haidragon

posted @ 2022-11-05 14:53  syscallwww  阅读(45)  评论(0编辑  收藏  举报