微软软件签名拆解举例

原文件+
40 04 00 00 00 02 02 00 
30 82 04 30 
 06 09 2a 86 48 86 f7 0d 01 07 02 
 a0 82 04 21 [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
  30 82 04 1d SignedData ::= SEQUENCE {
   02 01 01 version Version
   31 0b DigestAlgorithmIdentifiers,  //SET OF DigestAlgorithmIdentifier
    30 09 
     06 05 2b 0e 03 02 1a 05 00 sha1
   30 68 contentInfo ContentInfo,            
     06 0a 2b 06 01 04 01 82 37 02 01 04 spcIndirectDataContext (an MS-defined data type)
     
     a0 5a 
      30 58 
       /*****
       30 33 
        06 0a 2b 06 01 04 01 82 37 02 01 0f 
        30 25 
         03 01 00 
         a0 20 
          a2 1e 
           80 1c 
            00 3c 00 3c 00 3c 00 4f 00 62 00 73 00 6f 00 6c 00 65 00 74 00 65 00 3e 00 3e 00 3e 
       
       30 21 
        30 09 06 05 2b 0e 03 02 1a 05 00 
        04 14 
         7b 6c e3 7b b3 ce 95 40 16 a5 d3 46 86 62 c4 c5 f0 26 2a d8 
         此HASH为文件整理HASH
         ****/
     contentInfo end
   a0 82 02 3d certificates
      30 82 02 39 
       30 82 01 a6 
        a0 03 02 01 02 02 10 80 4a 95 80 
        79 ce 80 98 42 89 20 db b8 2a d0 76 30 09 06 05 
        2b 0e 03 02 1d 05 00 30 50 31 16 30 14 06 03 55 
        04 03 13 0d 41 64 6d 69 6e 69 73 74 72 61 74 6f 
        72 31 0c 30 0a 06 03 55 04 07 13 03 45 46 53 31 
        28 30 26 06 03 55 04 0b 13 1f 45 46 53 20 46 69 
        6c 65 20 45 6e 63 72 79 70 74 69 6f 6e 20 43 65 
        72 74 69 66 69 63 61 74 65 30 20 17 0d 30 33 30 
        38 30 37 30 37 35 32 33 38 5a 18 0f 32 31 30 33 
        30 37 31 34 30 37 35 32 33 38 5a 30 50 31 16 30 
        14 06 03 55 04 03 13 0d 41 64 6d 69 6e 69 73 74 
        72 61 74 6f 72 31 0c 30 0a 06 03 55 04 07 13 03 
        45 46 53 31 28 30 26 06 03 55 04 0b 13 1f 45 46 
        53 20 46 69 6c 65 20 45 6e 63 72 79 70 74 69 6f 
        6e 20 43 65 72 74 69 66 69 63 61 74 65 30 81 9f 
        30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 
        81 8d 00 30 81 89 02 81 81 00 b8 4a 76 ae 4f 47 
        52 8b 0d cd 36 5b 9b 2d fe be 6a cf 4d 56 c9 29 
        bf b2 67 21 32 f2 7c 6e 78 02 ba c4 95 09 c8 32 
        8a 9c 91 bd d3 08 91 d8 37 11 9a 7a bf 18 57 04 
        bd 35 e0 cd fc d5 f3 5d 3f dc 8a 7e f6 bf 5c df 
        19 be 3c f6 4b 64 be c4 9b f8 e4 0e 89 b6 fe 1c 
        a0 d3 47 3c aa f8 fe 53 0a e6 4c 35 f9 23 86 4d 
        f9 2d dd 68 53 e4 65 45 3b 9d 7d 60 f3 8f 57 85 
        7f 92 51 63 0c c7 29 e1 be e9 02 03 01 00 01 
        a3 1a 
         30 18 
          30 16 06 03 55 1d 25 04 0f 
           30 0d 06 0b 2b 06 01 04 01 82 37 0a 03 04 01 文件故障恢复
        30 09 06 05 2b 0e 03 02 1d 05 00 sha1
        03 81 81 00 6d 97 f6 be 0d cc 
        02 47 69 61 8d ee bb 7a dd 2b ac b4 0e b6 00 da 
        d1 cb 6b 11 31 ba 85 ee 5e 08 14 8d 0d 39 87 2e 
        76 17 63 7d 5d c8 54 02 ed b7 3e 4a 57 8d 5c aa 
        ce b7 ec b0 74 b4 cd 17 bd 51 1c 23 fe 34 11 c6 
        3e 2f 04 db c2 44 7f 04 16 07 9a d1 6a 58 25 34 
        c8 29 59 19 4e 1c 51 f6 4c 20 de 0e 1d 25 5d f3 
        c7 81 72 4d 81 04 d8 64 1a 06 dd 2e 07 1e d9 66 
        0a 8f 91 95 be b7 4d 9b 93 32 

    31 82 01 5e SignerInfos
     30 82 01 5a SignerInfo ::= SEQUENCE {
      02 01 01 version Version,
      30 64 IssuerAndSerialNumber
       30 50 
        31 16 30 14 06 03 55 04 03 13 0d 41 64 6d 69 6e 69 73 74 72 61 74 6f 72 
        31 0c 30 0a 06 03 55 04 07 13 03 45 46 53 
        31 28 30 26 06 03 55 04 0b 13 1f 45 46 53 20 46 69 6c 65 20 45 6e 63 72 79 70 74 69 6f 6e 20 43 65 72 74 69 66 69 63 61 74 65 
       02 10 80 4a 95 80 79 ce 80 98 42 89 20 db b8 2a d0 76 
      
      30 09 06 05 2b 0e 03 02 1a 05 00 DigestAlgorithmIdentifier
//1111111111111111111
      a0 52 authenticatedAttributes   [0] IMPLICIT Attributes OPTIONAL,
       
       30 10 
        06 0a 2b 06 01 04 01 82 37 02 01 0c 
        31 02 
         30 00 
       
       30 19 
        06 09 2a 86 48 86 f7 0d 01 09 03 yoid__pkcs9_contentType
        31 0c 
         06 0a 2b 06 01 04 01 82 37 02 01 04 微软的什么加密数据
         
       /*这里可加入签发时间 yoid__pkcs9_signingTime
       30 xx
           06 09 2A 86 48 86 F7 0D 01 09 05
           31 xx
            17 0d
             xx xx xx xx xx xx xx xx xx xx xx xx 5A
            
       */
       30 23 
        06 09 2a 86 48 86 f7 0d 01 09 04 yoid__pkcs9_messageDigest
        31 16 
         04 14 
          d3 20 2c 10 8d 91 a4 0c 1d 17 c3 88 af 64 56 b4 c4 87 ba 59 hash of the previous spcIndirectDataContext content
          此HASH的内容为/******  *******/内
1111111111111111  //     
      30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 DigestEncryptionAlgorithmIdentifier
                  rsaencrypt
      04 81 80 EncryptedDigest
        2e 82 a0 ac 
        b7 2e 99 04 b5 59 62 cb 99 9d 53 2f 12 1c 19 f4 
        3a 47 6c 61 e3 64 c5 99 1e c1 4b 7f 2a ab 1d d6 
        5d 44 a2 f0 f5 ea 38 d1 17 3b f0 21 5a a6 d7 28 
        15 b8 ca 3b 37 86 38 cf 01 af a3 21 a2 32 d5 f6 
        ad a2 0f a2 d5 d8 51 d9 ff fb b5 a5 12 81 9b 95 
        24 f8 e4 f8 52 01 c1 f7 d3 a6 79 91 61 11 bf f9 
        bd 6d f4 c2 44 f3 3c 93 7a 33 5f 98 b1 9a 05 c6 
        6e 05 4c 53 46 31 9b 2b 54 fe 6f ec 
        
        签名结果解签后的HASH值为:
        4c 51 b0 b6 a8 f4 a9 14 90 c7 b7 f9 fa f5 6b d8 75 18 a8 d7
        是//11111111111111内把a0换成31的hash 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值