X.509公鑰證書格式

  1. ASN.1

    ASN.1有很多編碼規則。這些規則定義如果有興趣可以去國際電聯https://www.itu.int/查找.ASN.1項目地址ASN.1 Project (itu.int)

    ASN.1介紹頁面Introduction to ASN.1​ (itu.int),這裏列一下,上面分佈是定義的標準,下面部分是編碼規則,這些鏈接可以直接下載標準的PDF,不收費的。

     For the last version (available since end of 2008), the ISO 8824 standard was split into four parts:

    As far as encoding rules are concerned, ISO 8825 standard was split into seven parts:
  2. X509

    X.509公鑰證書格式的標準爲rcf5280,RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile (rfc-editor.org)

    可以直接從4.1章節看,證書基本格式和字段。X.509 v3使用了ASN.1 DER(distinguished encoding rules)編碼規則。

    用bouncycastle庫簡單分析一下,已百度證書爲例

            String cer = "MIIKQDCCCSigAwIBAgIMcjncyb61yc15VBX5MA0GCSqGSIb3DQEBCwUAMGYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTwwOgYDVQQDEzNHbG9iYWxTaWduIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0gRzIwHhcNMjEwNzAxMDExNjAzWhcNMjIwODAyMDExNjAzWjCBpzELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB2JlaWppbmcxEDAOBgNVBAcTB2JlaWppbmcxJTAjBgNVBAsTHHNlcnZpY2Ugb3BlcmF0aW9uIGRlcGFydG1lbnQxOTA3BgNVBAoTMEJlaWppbmcgQmFpZHUgTmV0Y29tIFNjaWVuY2UgVGVjaG5vbG9neSBDby4sIEx0ZDESMBAGA1UEAxMJYmFpZHUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm1HBm0ZQIHnU05khvgJXhkUKZn2K4iK1E4Kavx+DGar7z3MELQdMQ7ZbhVg37haeoI+nbwWDpMhbF3PNgNaTLjiHsGrdl0s3eLVh0zrTkjtH0Q0UBddlilbpPExNPFWq4Wed22Y5AfKpuo/LUjCzmKc+aEDv2WoTrPjXTENYqyFj8ugGgNL5lHurgVFWdcMssVoO66Mo/q7+1jLr00+OCUO/gdcYxULEtPaoH5w8d6+Fx2ebBcO/GS5sh/dJ4Xbdl5KVBmJ4kVW2WeI57eR2ps8WGoDQFxd1Q4b7pOf0MGgGzut6hQQsJC/FZq22H9rQ7gZHDljQqEm14sQvfaj1YQIDAQABo4IGqjCCBqYwDgYDVR0PAQH/BAQDAgWgMIGgBggrBgEFBQcBAQSBkzCBkDBNBggrBgEFBQcwAoZBaHR0cDovL3NlY3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Nvcmdhbml6YXRpb252YWxzaGEyZzJyMS5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly9vY3NwMi5nbG9iYWxzaWduLmNvbS9nc29yZ2FuaXphdGlvbnZhbHNoYTJnMjBWBgNVHSAETzBNMEEGCSsGAQQBoDIBFDA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAIBgZngQwBAgIwCQYDVR0TBAIwADBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2dzL2dzb3JnYW5pemF0aW9udmFsc2hhMmcyLmNybDCCA2EGA1UdEQSCA1gwggNUggliYWlkdS5jb22CDGJhaWZ1YmFvLmNvbYIMd3d3LmJhaWR1LmNughB3d3cuYmFpZHUuY29tLmNugg9tY3QueS5udW9taS5jb22CC2Fwb2xsby5hdXRvggZkd3ouY26CCyouYmFpZHUuY29tgg4qLmJhaWZ1YmFvLmNvbYIRKi5iYWlkdXN0YXRpYy5jb22CDiouYmRzdGF0aWMuY29tggsqLmJkaW1nLmNvbYIMKi5oYW8xMjMuY29tggsqLm51b21pLmNvbYINKi5jaHVhbmtlLmNvbYINKi50cnVzdGdvLmNvbYIPKi5iY2UuYmFpZHUuY29tghAqLmV5dW4uYmFpZHUuY29tgg8qLm1hcC5iYWlkdS5jb22CDyoubWJkLmJhaWR1LmNvbYIRKi5mYW55aS5iYWlkdS5jb22CDiouYmFpZHViY2UuY29tggwqLm1pcGNkbi5jb22CECoubmV3cy5iYWlkdS5jb22CDiouYmFpZHVwY3MuY29tggwqLmFpcGFnZS5jb22CCyouYWlwYWdlLmNugg0qLmJjZWhvc3QuY29tghAqLnNhZmUuYmFpZHUuY29tgg4qLmltLmJhaWR1LmNvbYISKi5iYWlkdWNvbnRlbnQuY29tggsqLmRsbmVsLmNvbYILKi5kbG5lbC5vcmeCEiouZHVlcm9zLmJhaWR1LmNvbYIOKi5zdS5iYWlkdS5jb22CCCouOTEuY29tghIqLmhhbzEyMy5iYWlkdS5jb22CDSouYXBvbGxvLmF1dG+CEioueHVlc2h1LmJhaWR1LmNvbYIRKi5iai5iYWlkdWJjZS5jb22CESouZ3ouYmFpZHViY2UuY29tgg4qLnNtYXJ0YXBwcy5jboINKi5iZHRqcmN2LmNvbYIMKi5oYW8yMjIuY29tggwqLmhhb2thbi5jb22CDyoucGFlLmJhaWR1LmNvbYIRKi52ZC5iZHN0YXRpYy5jb22CESouY2xvdWQuYmFpZHUuY29tghJjbGljay5obS5iYWlkdS5jb22CEGxvZy5obS5iYWlkdS5jb22CEGNtLnBvcy5iYWlkdS5jb22CEHduLnBvcy5iYWlkdS5jb22CFHVwZGF0ZS5wYW4uYmFpZHUuY29tMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSW3mHxvRwWKVMcwMx9O4MAQOYafDAdBgNVHQ4EFgQUNJKaLwxxYrw92yNtbT6z0R0Rne0wggF9BgorBgEEAdZ5AgQCBIIBbQSCAWkBZwB1ACJFRQdZVSRWlj+hL/H3bYbgIyZjrcBLf13Gg1xu4g8CAAABel+jJjkAAAQDAEYwRAIgIPt5kWXsm47PrqSljzkXx3xDt0xLC/fIIWbRTrvyJFUCIDxgcy89XYHRxW/WLY/pBDAv1fnK5MpocUYZi7c4uvDlAHYAKXm+8J45OSHwVnOfY6V35b5XfZxgCvj5TV0mXCVdx4QAAAF6X6MmKgAABAMARzBFAiEAzl3C9AQOsbfgoBe61Dnc72Fa+8X3MmImCrsG6kb2f8oCIGeDQqgTEHzxbjQzGKr4nnjBDPkVpljrV4SUc3n5ysgvAHYAVYHUwhaQNgFK6gubVzxT8MDkOHhwJQgXL6OqHQcT0wwAAAF6X6MmSwAABAMARzBFAiB5KnN89d/LeQheoojaviS16dad95CR2Wr8pZWVamxDfgIhAL+3MqWq+E+8mtOIWDyebnH2nS+mm91pmO1mA5CSyiKRMA0GCSqGSIb3DQEBCwUAA4IBAQA5igBJkkgWWN4+nM6DORuxrJqV+Vb/fC2C06g2W+bPff1KmHJI8rf2UtQLCSyiXDNH4pqbPpe92LoACcmuHrO83uge4d7ZBfipsD3tuXqyqTyTTgeM8F7Mi/N1M25VguWZQp+cgVT7rc4oDDhCYJVo4U1fgy2kMnbYURwdZrecrR8Z+UDkfHRN2yq76vMkTek4dyFSPP0egR6QAISuyGb844F4kdBDeJkqpIUxPJ9r70ieHjlNUQe3U03/4hOr48ptfCH24voic/RlcXV32giO9y1b5gHJ95YMXy2o1z5MXsKSeOQbTpsoNp8Yd/K79WpkcXgP6tVofxFXtP8PsORz";
            //構建ASN1InputStream
            ASN1InputStream stream = new ASN1InputStream(Base64.getMimeDecoder().decode(cer.getBytes(StandardCharsets.UTF_8)));
            /**
             * 這裏stream.readObject()返回的是DLSequence類型,ASN1Sequence也同樣可以處理,ASN1Sequence是父類,但是DERSequence不行,有點可科學。
             * 通過查看ASN1InputStream代碼發現readObject()除了返回基礎對象,高級對象通過buildObject()創建,用的DefiniteLengthInputStream
             * DLSequence實際就是DefiniteLengthSequence縮寫
             * DERSequence和DLSequence封裝證書的時候,編碼結果是完全一樣的
             */
            /**
             * Certificate ::= SEQUENCE {
             *      tbsCertificate TBSCertificate,
             *      signatureAlgorithm AlgorithmIdentifier,
             *      signatureValue BIT STRING
             *   }
             */
            DLSequence certificateSequence = (DLSequence) stream.readObject();
            if (certificateSequence.size() == 3) {
                /**
                 * TBSCertificate ::= SEQUENCE {
                 *      version [0] EXPLICIT Version DEFAULT v1,
                 *      serialNumber CertificateSerialNumber,
                 *      signature AlgorithmIdentifier,
                 *      issuer Name,
                 *      validity Validity,
                 *      subject Name,
                 *      subjectPublicKeyInfo SubjectPublicKeyInfo,
                 *      issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, -- If present, version MUST be v2 or v3
                 *      subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, -- If present, version MUST be v2 or v3
                 *      extensions [3] EXPLICIT Extensions OPTIONAL -- If present, version MUST be v3
                 *   }
                 */
                ASN1Sequence tbsCertificateSequence = (ASN1Sequence) certificateSequence.getObjectAt(0);
                /**
                 * AlgorithmIdentifier ::= SEQUENCE  {
                 *      algorithm OBJECT IDENTIFIER,
                 *      parameters ANY DEFINED BY algorithm OPTIONAL
                 *    }
                 */
                ASN1Sequence signatureAlgorithmSequence = (ASN1Sequence) certificateSequence.getObjectAt(1);
                /**
                 * BIT STRING
                 */
                ASN1BitString signatureValue = (ASN1BitString) certificateSequence.getObjectAt(2);
    
                 //可發現證書編碼就是 (Sequence head)+TBSCertificate+AlgorithmIdentifier+signatureValue,這裏的Sequence head指ASN.1格式Sequence的type和length
                System.out.println(certificateSequence.getEncoded().length);
                System.out.println("證書16進制編碼:" + DatatypeConverter.printHexBinary(certificateSequence.getEncoded()));
                System.out.println("TBSCertificate:" + DatatypeConverter.printHexBinary(tbsCertificateSequence.getEncoded()));
                System.out.println("AlgorithmIdentifier:" + DatatypeConverter.printHexBinary(signatureAlgorithmSequence.getEncoded()));
                System.out.println("signatureValue:" + DatatypeConverter.printHexBinary(signatureValue.getEncoded()));
    
                //組合證書
                ASN1EncodableVector vector = new ASN1EncodableVector();
                vector.add(tbsCertificateSequence);
                vector.add(signatureAlgorithmSequence);
                vector.add(signatureValue);
    
                //DERSequence封裝
                DERSequence derSequence = new DERSequence(vector);
                System.out.println("DERSequence封裝組合證書:" + derSequence);
                System.out.println("證書16進制編碼:" + DatatypeConverter.printHexBinary(derSequence.getEncoded()));
    
    
                //DLSequence封裝
                DLSequence dlSequence = new DLSequence(vector);
                System.out.println("DLSequence封裝組合證書:" + dlSequence);
                System.out.println("證書16進制編碼:" + DatatypeConverter.printHexBinary(dlSequence.getEncoded()));

    輸出如下

    2628
    證書16進制編碼:30820A4030820928A003020102020C7239DCC9BEB5C9CD795415F9300D06092A864886F70D01010B05003066310B300906035504061302424531193017060355040A1310476C6F62616C5369676E206E762D7361313C303A06035504031333476C6F62616C5369676E204F7267616E697A6174696F6E2056616C69646174696F6E204341202D20534841323536202D204732301E170D3231303730313031313630335A170D3232303830323031313630335A3081A7310B300906035504061302434E3110300E060355040813076265696A696E673110300E060355040713076265696A696E6731253023060355040B131C73657276696365206F7065726174696F6E206465706172746D656E7431393037060355040A13304265696A696E67204261696475204E6574636F6D20536369656E636520546563686E6F6C6F677920436F2E2C204C7464311230100603550403130962616964752E636F6D30820122300D06092A864886F70D01010105000382010F003082010A02820101009B51C19B46502079D4D39921BE025786450A667D8AE222B513829ABF1F8319AAFBCF73042D074C43B65B855837EE169EA08FA76F0583A4C85B1773CD80D6932E3887B06ADD974B3778B561D33AD3923B47D10D1405D7658A56E93C4C4D3C55AAE1679DDB663901F2A9BA8FCB5230B398A73E6840EFD96A13ACF8D74C4358AB2163F2E80680D2F9947BAB81515675C32CB15A0EEBA328FEAEFED632EBD34F8E0943BF81D718C542C4B4F6A81F9C3C77AF85C7679B05C3BF192E6C87F749E176DD9792950662789155B659E239EDE476A6CF161A80D01717754386FBA4E7F4306806CEEB7A85042C242FC566ADB61FDAD0EE06470E58D0A849B5E2C42F7DA8F5610203010001A38206AA308206A6300E0603551D0F0101FF0404030205A03081A006082B06010505070101048193308190304D06082B060105050730028641687474703A2F2F7365637572652E676C6F62616C7369676E2E636F6D2F6361636572742F67736F7267616E697A6174696F6E76616C73686132673272312E637274303F06082B060105050730018633687474703A2F2F6F637370322E676C6F62616C7369676E2E636F6D2F67736F7267616E697A6174696F6E76616C73686132673230560603551D20044F304D304106092B06010401A03201143034303206082B06010505070201162668747470733A2F2F7777772E676C6F62616C7369676E2E636F6D2F7265706F7369746F72792F3008060667810C01020230090603551D130402300030490603551D1F04423040303EA03CA03A8638687474703A2F2F63726C2E676C6F62616C7369676E2E636F6D2F67732F67736F7267616E697A6174696F6E76616C7368613267322E63726C308203610603551D110482035830820354820962616964752E636F6D820C626169667562616F2E636F6D820C7777772E62616964752E636E82107777772E62616964752E636F6D2E636E820F6D63742E792E6E756F6D692E636F6D820B61706F6C6C6F2E6175746F820664777A2E636E820B2A2E62616964752E636F6D820E2A2E626169667562616F2E636F6D82112A2E62616964757374617469632E636F6D820E2A2E62647374617469632E636F6D820B2A2E6264696D672E636F6D820C2A2E68616F3132332E636F6D820B2A2E6E756F6D692E636F6D820D2A2E636875616E6B652E636F6D820D2A2E7472757374676F2E636F6D820F2A2E6263652E62616964752E636F6D82102A2E6579756E2E62616964752E636F6D820F2A2E6D61702E62616964752E636F6D820F2A2E6D62642E62616964752E636F6D82112A2E66616E79692E62616964752E636F6D820E2A2E62616964756263652E636F6D820C2A2E6D697063646E2E636F6D82102A2E6E6577732E62616964752E636F6D820E2A2E62616964757063732E636F6D820C2A2E6169706167652E636F6D820B2A2E6169706167652E636E820D2A2E626365686F73742E636F6D82102A2E736166652E62616964752E636F6D820E2A2E696D2E62616964752E636F6D82122A2E6261696475636F6E74656E742E636F6D820B2A2E646C6E656C2E636F6D820B2A2E646C6E656C2E6F726782122A2E647565726F732E62616964752E636F6D820E2A2E73752E62616964752E636F6D82082A2E39312E636F6D82122A2E68616F3132332E62616964752E636F6D820D2A2E61706F6C6C6F2E6175746F82122A2E7875657368752E62616964752E636F6D82112A2E626A2E62616964756263652E636F6D82112A2E677A2E62616964756263652E636F6D820E2A2E736D617274617070732E636E820D2A2E6264746A7263762E636F6D820C2A2E68616F3232322E636F6D820C2A2E68616F6B616E2E636F6D820F2A2E7061652E62616964752E636F6D82112A2E76642E62647374617469632E636F6D82112A2E636C6F75642E62616964752E636F6D8212636C69636B2E686D2E62616964752E636F6D82106C6F672E686D2E62616964752E636F6D8210636D2E706F732E62616964752E636F6D8210776E2E706F732E62616964752E636F6D82147570646174652E70616E2E62616964752E636F6D301D0603551D250416301406082B0601050507030106082B06010505070302301F0603551D2304183016801496DE61F1BD1C1629531CC0CC7D3B830040E61A7C301D0603551D0E0416041434929A2F0C7162BC3DDB236D6D3EB3D11D119DED3082017D060A2B06010401D6790204020482016D0482016901670075002245450759552456963FA12FF1F76D86E0232663ADC04B7F5DC6835C6EE20F020000017A5FA326390000040300463044022020FB799165EC9B8ECFAEA4A58F3917C77C43B74C4B0BF7C82166D14EBBF2245502203C60732F3D5D81D1C56FD62D8FE904302FD5F9CAE4CA687146198BB738BAF0E50076002979BEF09E393921F056739F63A577E5BE577D9C600AF8F94D5D265C255DC7840000017A5FA3262A0000040300473045022100CE5DC2F4040EB1B7E0A017BAD439DCEF615AFBC5F73262260ABB06EA46F67FCA0220678342A813107CF16E343318AAF89E78C10CF915A658EB5784947379F9CAC82F0076005581D4C2169036014AEA0B9B573C53F0C0E43878702508172FA3AA1D0713D30C0000017A5FA3264B00000403004730450220792A737CF5DFCB79085EA288DABE24B5E9D69DF79091D96AFCA595956A6C437E022100BFB732A5AAF84FBC9AD388583C9E6E71F69D2FA69BDD6998ED66039092CA2291300D06092A864886F70D01010B05000382010100398A004992481658DE3E9CCE83391BB1AC9A95F956FF7C2D82D3A8365BE6CF7DFD4A987248F2B7F652D40B092CA25C3347E29A9B3E97BDD8BA0009C9AE1EB3BCDEE81EE1DED905F8A9B03DEDB97AB2A93C934E078CF05ECC8BF375336E5582E599429F9C8154FBADCE280C3842609568E14D5F832DA43276D8511C1D66B79CAD1F19F940E47C744DDB2ABBEAF3244DE9387721523CFD1E811E900084AEC866FCE3817891D04378992AA485313C9F6BEF489E1E394D5107B7534DFFE213ABE3CA6D7C21F6E2FA2273F465717577DA088EF72D5BE601C9F7960C5F2DA8D73E4C5EC29278E41B4E9B28369F1877F2BBF56A6471780FEAD5687F1157B4FF0FB0E473
    TBSCertificate:30820928A003020102020C7239DCC9BEB5C9CD795415F9300D06092A864886F70D01010B05003066310B300906035504061302424531193017060355040A1310476C6F62616C5369676E206E762D7361313C303A06035504031333476C6F62616C5369676E204F7267616E697A6174696F6E2056616C69646174696F6E204341202D20534841323536202D204732301E170D3231303730313031313630335A170D3232303830323031313630335A3081A7310B300906035504061302434E3110300E060355040813076265696A696E673110300E060355040713076265696A696E6731253023060355040B131C73657276696365206F7065726174696F6E206465706172746D656E7431393037060355040A13304265696A696E67204261696475204E6574636F6D20536369656E636520546563686E6F6C6F677920436F2E2C204C7464311230100603550403130962616964752E636F6D30820122300D06092A864886F70D01010105000382010F003082010A02820101009B51C19B46502079D4D39921BE025786450A667D8AE222B513829ABF1F8319AAFBCF73042D074C43B65B855837EE169EA08FA76F0583A4C85B1773CD80D6932E3887B06ADD974B3778B561D33AD3923B47D10D1405D7658A56E93C4C4D3C55AAE1679DDB663901F2A9BA8FCB5230B398A73E6840EFD96A13ACF8D74C4358AB2163F2E80680D2F9947BAB81515675C32CB15A0EEBA328FEAEFED632EBD34F8E0943BF81D718C542C4B4F6A81F9C3C77AF85C7679B05C3BF192E6C87F749E176DD9792950662789155B659E239EDE476A6CF161A80D01717754386FBA4E7F4306806CEEB7A85042C242FC566ADB61FDAD0EE06470E58D0A849B5E2C42F7DA8F5610203010001A38206AA308206A6300E0603551D0F0101FF0404030205A03081A006082B06010505070101048193308190304D06082B060105050730028641687474703A2F2F7365637572652E676C6F62616C7369676E2E636F6D2F6361636572742F67736F7267616E697A6174696F6E76616C73686132673272312E637274303F06082B060105050730018633687474703A2F2F6F637370322E676C6F62616C7369676E2E636F6D2F67736F7267616E697A6174696F6E76616C73686132673230560603551D20044F304D304106092B06010401A03201143034303206082B06010505070201162668747470733A2F2F7777772E676C6F62616C7369676E2E636F6D2F7265706F7369746F72792F3008060667810C01020230090603551D130402300030490603551D1F04423040303EA03CA03A8638687474703A2F2F63726C2E676C6F62616C7369676E2E636F6D2F67732F67736F7267616E697A6174696F6E76616C7368613267322E63726C308203610603551D110482035830820354820962616964752E636F6D820C626169667562616F2E636F6D820C7777772E62616964752E636E82107777772E62616964752E636F6D2E636E820F6D63742E792E6E756F6D692E636F6D820B61706F6C6C6F2E6175746F820664777A2E636E820B2A2E62616964752E636F6D820E2A2E626169667562616F2E636F6D82112A2E62616964757374617469632E636F6D820E2A2E62647374617469632E636F6D820B2A2E6264696D672E636F6D820C2A2E68616F3132332E636F6D820B2A2E6E756F6D692E636F6D820D2A2E636875616E6B652E636F6D820D2A2E7472757374676F2E636F6D820F2A2E6263652E62616964752E636F6D82102A2E6579756E2E62616964752E636F6D820F2A2E6D61702E62616964752E636F6D820F2A2E6D62642E62616964752E636F6D82112A2E66616E79692E62616964752E636F6D820E2A2E62616964756263652E636F6D820C2A2E6D697063646E2E636F6D82102A2E6E6577732E62616964752E636F6D820E2A2E62616964757063732E636F6D820C2A2E6169706167652E636F6D820B2A2E6169706167652E636E820D2A2E626365686F73742E636F6D82102A2E736166652E62616964752E636F6D820E2A2E696D2E62616964752E636F6D82122A2E6261696475636F6E74656E742E636F6D820B2A2E646C6E656C2E636F6D820B2A2E646C6E656C2E6F726782122A2E647565726F732E62616964752E636F6D820E2A2E73752E62616964752E636F6D82082A2E39312E636F6D82122A2E68616F3132332E62616964752E636F6D820D2A2E61706F6C6C6F2E6175746F82122A2E7875657368752E62616964752E636F6D82112A2E626A2E62616964756263652E636F6D82112A2E677A2E62616964756263652E636F6D820E2A2E736D617274617070732E636E820D2A2E6264746A7263762E636F6D820C2A2E68616F3232322E636F6D820C2A2E68616F6B616E2E636F6D820F2A2E7061652E62616964752E636F6D82112A2E76642E62647374617469632E636F6D82112A2E636C6F75642E62616964752E636F6D8212636C69636B2E686D2E62616964752E636F6D82106C6F672E686D2E62616964752E636F6D8210636D2E706F732E62616964752E636F6D8210776E2E706F732E62616964752E636F6D82147570646174652E70616E2E62616964752E636F6D301D0603551D250416301406082B0601050507030106082B06010505070302301F0603551D2304183016801496DE61F1BD1C1629531CC0CC7D3B830040E61A7C301D0603551D0E0416041434929A2F0C7162BC3DDB236D6D3EB3D11D119DED3082017D060A2B06010401D6790204020482016D0482016901670075002245450759552456963FA12FF1F76D86E0232663ADC04B7F5DC6835C6EE20F020000017A5FA326390000040300463044022020FB799165EC9B8ECFAEA4A58F3917C77C43B74C4B0BF7C82166D14EBBF2245502203C60732F3D5D81D1C56FD62D8FE904302FD5F9CAE4CA687146198BB738BAF0E50076002979BEF09E393921F056739F63A577E5BE577D9C600AF8F94D5D265C255DC7840000017A5FA3262A0000040300473045022100CE5DC2F4040EB1B7E0A017BAD439DCEF615AFBC5F73262260ABB06EA46F67FCA0220678342A813107CF16E343318AAF89E78C10CF915A658EB5784947379F9CAC82F0076005581D4C2169036014AEA0B9B573C53F0C0E43878702508172FA3AA1D0713D30C0000017A5FA3264B00000403004730450220792A737CF5DFCB79085EA288DABE24B5E9D69DF79091D96AFCA595956A6C437E022100BFB732A5AAF84FBC9AD388583C9E6E71F69D2FA69BDD6998ED66039092CA2291
    AlgorithmIdentifier:300D06092A864886F70D01010B0500
    signatureValue:0382010100398A004992481658DE3E9CCE83391BB1AC9A95F956FF7C2D82D3A8365BE6CF7DFD4A987248F2B7F652D40B092CA25C3347E29A9B3E97BDD8BA0009C9AE1EB3BCDEE81EE1DED905F8A9B03DEDB97AB2A93C934E078CF05ECC8BF375336E5582E599429F9C8154FBADCE280C3842609568E14D5F832DA43276D8511C1D66B79CAD1F19F940E47C744DDB2ABBEAF3244DE9387721523CFD1E811E900084AEC866FCE3817891D04378992AA485313C9F6BEF489E1E394D5107B7534DFFE213ABE3CA6D7C21F6E2FA2273F465717577DA088EF72D5BE601C9F7960C5F2DA8D73E4C5EC29278E41B4E9B28369F1877F2BBF56A6471780FEAD5687F1157B4FF0FB0E473
    DERSequence封裝組合證書:[[[CONTEXT 0]2, 35351242533515273557482149369, [1.2.840.113549.1.1.11, NULL], [[[2.5.4.6, BE]], [[2.5.4.10, GlobalSign nv-sa]], [[2.5.4.3, GlobalSign Organization Validation CA - SHA256 - G2]]], [210701011603Z, 220802011603Z], [[[2.5.4.6, CN]], [[2.5.4.8, beijing]], [[2.5.4.7, beijing]], [[2.5.4.11, service operation department]], [[2.5.4.10, Beijing Baidu Netcom Science Technology Co., Ltd]], [[2.5.4.3, baidu.com]]], [[1.2.840.113549.1.1.1, NULL], #0382010F003082010A02820101009B51C19B46502079D4D39921BE025786450A667D8AE222B513829ABF1F8319AAFBCF73042D074C43B65B855837EE169EA08FA76F0583A4C85B1773CD80D6932E3887B06ADD974B3778B561D33AD3923B47D10D1405D7658A56E93C4C4D3C55AAE1679DDB663901F2A9BA8FCB5230B398A73E6840EFD96A13ACF8D74C4358AB2163F2E80680D2F9947BAB81515675C32CB15A0EEBA328FEAEFED632EBD34F8E0943BF81D718C542C4B4F6A81F9C3C77AF85C7679B05C3BF192E6C87F749E176DD9792950662789155B659E239EDE476A6CF161A80D01717754386FBA4E7F4306806CEEB7A85042C242FC566ADB61FDAD0EE06470E58D0A849B5E2C42F7DA8F5610203010001], [CONTEXT 3][[2.5.29.15, TRUE, #030205a0], [1.3.6.1.5.5.7.1.1, #308190304d06082b060105050730028641687474703a2f2f7365637572652e676c6f62616c7369676e2e636f6d2f6361636572742f67736f7267616e697a6174696f6e76616c73686132673272312e637274303f06082b060105050730018633687474703a2f2f6f637370322e676c6f62616c7369676e2e636f6d2f67736f7267616e697a6174696f6e76616c736861326732], [2.5.29.32, #304d304106092b06010401a03201143034303206082b06010505070201162668747470733a2f2f7777772e676c6f62616c7369676e2e636f6d2f7265706f7369746f72792f3008060667810c010202], [2.5.29.19, #3000], [2.5.29.31, #3040303ea03ca03a8638687474703a2f2f63726c2e676c6f62616c7369676e2e636f6d2f67732f67736f7267616e697a6174696f6e76616c7368613267322e63726c], [2.5.29.17, #30820354820962616964752e636f6d820c626169667562616f2e636f6d820c7777772e62616964752e636e82107777772e62616964752e636f6d2e636e820f6d63742e792e6e756f6d692e636f6d820b61706f6c6c6f2e6175746f820664777a2e636e820b2a2e62616964752e636f6d820e2a2e626169667562616f2e636f6d82112a2e62616964757374617469632e636f6d820e2a2e62647374617469632e636f6d820b2a2e6264696d672e636f6d820c2a2e68616f3132332e636f6d820b2a2e6e756f6d692e636f6d820d2a2e636875616e6b652e636f6d820d2a2e7472757374676f2e636f6d820f2a2e6263652e62616964752e636f6d82102a2e6579756e2e62616964752e636f6d820f2a2e6d61702e62616964752e636f6d820f2a2e6d62642e62616964752e636f6d82112a2e66616e79692e62616964752e636f6d820e2a2e62616964756263652e636f6d820c2a2e6d697063646e2e636f6d82102a2e6e6577732e62616964752e636f6d820e2a2e62616964757063732e636f6d820c2a2e6169706167652e636f6d820b2a2e6169706167652e636e820d2a2e626365686f73742e636f6d82102a2e736166652e62616964752e636f6d820e2a2e696d2e62616964752e636f6d82122a2e6261696475636f6e74656e742e636f6d820b2a2e646c6e656c2e636f6d820b2a2e646c6e656c2e6f726782122a2e647565726f732e62616964752e636f6d820e2a2e73752e62616964752e636f6d82082a2e39312e636f6d82122a2e68616f3132332e62616964752e636f6d820d2a2e61706f6c6c6f2e6175746f82122a2e7875657368752e62616964752e636f6d82112a2e626a2e62616964756263652e636f6d82112a2e677a2e62616964756263652e636f6d820e2a2e736d617274617070732e636e820d2a2e6264746a7263762e636f6d820c2a2e68616f3232322e636f6d820c2a2e68616f6b616e2e636f6d820f2a2e7061652e62616964752e636f6d82112a2e76642e62647374617469632e636f6d82112a2e636c6f75642e62616964752e636f6d8212636c69636b2e686d2e62616964752e636f6d82106c6f672e686d2e62616964752e636f6d8210636d2e706f732e62616964752e636f6d8210776e2e706f732e62616964752e636f6d82147570646174652e70616e2e62616964752e636f6d], [2.5.29.37, #301406082b0601050507030106082b06010505070302], [2.5.29.35, #3016801496de61f1bd1c1629531cc0cc7d3b830040e61a7c], [2.5.29.14, #041434929a2f0c7162bc3ddb236d6d3eb3d11d119ded], [1.3.6.1.4.1.11129.2.4.2, #0482016901670075002245450759552456963fa12ff1f76d86e0232663adc04b7f5dc6835c6ee20f020000017a5fa326390000040300463044022020fb799165ec9b8ecfaea4a58f3917c77c43b74c4b0bf7c82166d14ebbf2245502203c60732f3d5d81d1c56fd62d8fe904302fd5f9cae4ca687146198bb738baf0e50076002979bef09e393921f056739f63a577e5be577d9c600af8f94d5d265c255dc7840000017a5fa3262a0000040300473045022100ce5dc2f4040eb1b7e0a017bad439dcef615afbc5f73262260abb06ea46f67fca0220678342a813107cf16e343318aaf89e78c10cf915a658eb5784947379f9cac82f0076005581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c0000017a5fa3264b00000403004730450220792a737cf5dfcb79085ea288dabe24b5e9d69df79091d96afca595956a6c437e022100bfb732a5aaf84fbc9ad388583c9e6e71f69d2fa69bdd6998ed66039092ca2291]]], [1.2.840.113549.1.1.11, NULL], #0382010100398A004992481658DE3E9CCE83391BB1AC9A95F956FF7C2D82D3A8365BE6CF7DFD4A987248F2B7F652D40B092CA25C3347E29A9B3E97BDD8BA0009C9AE1EB3BCDEE81EE1DED905F8A9B03DEDB97AB2A93C934E078CF05ECC8BF375336E5582E599429F9C8154FBADCE280C3842609568E14D5F832DA43276D8511C1D66B79CAD1F19F940E47C744DDB2ABBEAF3244DE9387721523CFD1E811E900084AEC866FCE3817891D04378992AA485313C9F6BEF489E1E394D5107B7534DFFE213ABE3CA6D7C21F6E2FA2273F465717577DA088EF72D5BE601C9F7960C5F2DA8D73E4C5EC29278E41B4E9B28369F1877F2BBF56A6471780FEAD5687F1157B4FF0FB0E473]
    證書16進制編碼:30820A4030820928A003020102020C7239DCC9BEB5C9CD795415F9300D06092A864886F70D01010B05003066310B300906035504061302424531193017060355040A1310476C6F62616C5369676E206E762D7361313C303A06035504031333476C6F62616C5369676E204F7267616E697A6174696F6E2056616C69646174696F6E204341202D20534841323536202D204732301E170D3231303730313031313630335A170D3232303830323031313630335A3081A7310B300906035504061302434E3110300E060355040813076265696A696E673110300E060355040713076265696A696E6731253023060355040B131C73657276696365206F7065726174696F6E206465706172746D656E7431393037060355040A13304265696A696E67204261696475204E6574636F6D20536369656E636520546563686E6F6C6F677920436F2E2C204C7464311230100603550403130962616964752E636F6D30820122300D06092A864886F70D01010105000382010F003082010A02820101009B51C19B46502079D4D39921BE025786450A667D8AE222B513829ABF1F8319AAFBCF73042D074C43B65B855837EE169EA08FA76F0583A4C85B1773CD80D6932E3887B06ADD974B3778B561D33AD3923B47D10D1405D7658A56E93C4C4D3C55AAE1679DDB663901F2A9BA8FCB5230B398A73E6840EFD96A13ACF8D74C4358AB2163F2E80680D2F9947BAB81515675C32CB15A0EEBA328FEAEFED632EBD34F8E0943BF81D718C542C4B4F6A81F9C3C77AF85C7679B05C3BF192E6C87F749E176DD9792950662789155B659E239EDE476A6CF161A80D01717754386FBA4E7F4306806CEEB7A85042C242FC566ADB61FDAD0EE06470E58D0A849B5E2C42F7DA8F5610203010001A38206AA308206A6300E0603551D0F0101FF0404030205A03081A006082B06010505070101048193308190304D06082B060105050730028641687474703A2F2F7365637572652E676C6F62616C7369676E2E636F6D2F6361636572742F67736F7267616E697A6174696F6E76616C73686132673272312E637274303F06082B060105050730018633687474703A2F2F6F637370322E676C6F62616C7369676E2E636F6D2F67736F7267616E697A6174696F6E76616C73686132673230560603551D20044F304D304106092B06010401A03201143034303206082B06010505070201162668747470733A2F2F7777772E676C6F62616C7369676E2E636F6D2F7265706F7369746F72792F3008060667810C01020230090603551D130402300030490603551D1F04423040303EA03CA03A8638687474703A2F2F63726C2E676C6F62616C7369676E2E636F6D2F67732F67736F7267616E697A6174696F6E76616C7368613267322E63726C308203610603551D110482035830820354820962616964752E636F6D820C626169667562616F2E636F6D820C7777772E62616964752E636E82107777772E62616964752E636F6D2E636E820F6D63742E792E6E756F6D692E636F6D820B61706F6C6C6F2E6175746F820664777A2E636E820B2A2E62616964752E636F6D820E2A2E626169667562616F2E636F6D82112A2E62616964757374617469632E636F6D820E2A2E62647374617469632E636F6D820B2A2E6264696D672E636F6D820C2A2E68616F3132332E636F6D820B2A2E6E756F6D692E636F6D820D2A2E636875616E6B652E636F6D820D2A2E7472757374676F2E636F6D820F2A2E6263652E62616964752E636F6D82102A2E6579756E2E62616964752E636F6D820F2A2E6D61702E62616964752E636F6D820F2A2E6D62642E62616964752E636F6D82112A2E66616E79692E62616964752E636F6D820E2A2E62616964756263652E636F6D820C2A2E6D697063646E2E636F6D82102A2E6E6577732E62616964752E636F6D820E2A2E62616964757063732E636F6D820C2A2E6169706167652E636F6D820B2A2E6169706167652E636E820D2A2E626365686F73742E636F6D82102A2E736166652E62616964752E636F6D820E2A2E696D2E62616964752E636F6D82122A2E6261696475636F6E74656E742E636F6D820B2A2E646C6E656C2E636F6D820B2A2E646C6E656C2E6F726782122A2E647565726F732E62616964752E636F6D820E2A2E73752E62616964752E636F6D82082A2E39312E636F6D82122A2E68616F3132332E62616964752E636F6D820D2A2E61706F6C6C6F2E6175746F82122A2E7875657368752E62616964752E636F6D82112A2E626A2E62616964756263652E636F6D82112A2E677A2E62616964756263652E636F6D820E2A2E736D617274617070732E636E820D2A2E6264746A7263762E636F6D820C2A2E68616F3232322E636F6D820C2A2E68616F6B616E2E636F6D820F2A2E7061652E62616964752E636F6D82112A2E76642E62647374617469632E636F6D82112A2E636C6F75642E62616964752E636F6D8212636C69636B2E686D2E62616964752E636F6D82106C6F672E686D2E62616964752E636F6D8210636D2E706F732E62616964752E636F6D8210776E2E706F732E62616964752E636F6D82147570646174652E70616E2E62616964752E636F6D301D0603551D250416301406082B0601050507030106082B06010505070302301F0603551D2304183016801496DE61F1BD1C1629531CC0CC7D3B830040E61A7C301D0603551D0E0416041434929A2F0C7162BC3DDB236D6D3EB3D11D119DED3082017D060A2B06010401D6790204020482016D0482016901670075002245450759552456963FA12FF1F76D86E0232663ADC04B7F5DC6835C6EE20F020000017A5FA326390000040300463044022020FB799165EC9B8ECFAEA4A58F3917C77C43B74C4B0BF7C82166D14EBBF2245502203C60732F3D5D81D1C56FD62D8FE904302FD5F9CAE4CA687146198BB738BAF0E50076002979BEF09E393921F056739F63A577E5BE577D9C600AF8F94D5D265C255DC7840000017A5FA3262A0000040300473045022100CE5DC2F4040EB1B7E0A017BAD439DCEF615AFBC5F73262260ABB06EA46F67FCA0220678342A813107CF16E343318AAF89E78C10CF915A658EB5784947379F9CAC82F0076005581D4C2169036014AEA0B9B573C53F0C0E43878702508172FA3AA1D0713D30C0000017A5FA3264B00000403004730450220792A737CF5DFCB79085EA288DABE24B5E9D69DF79091D96AFCA595956A6C437E022100BFB732A5AAF84FBC9AD388583C9E6E71F69D2FA69BDD6998ED66039092CA2291300D06092A864886F70D01010B05000382010100398A004992481658DE3E9CCE83391BB1AC9A95F956FF7C2D82D3A8365BE6CF7DFD4A987248F2B7F652D40B092CA25C3347E29A9B3E97BDD8BA0009C9AE1EB3BCDEE81EE1DED905F8A9B03DEDB97AB2A93C934E078CF05ECC8BF375336E5582E599429F9C8154FBADCE280C3842609568E14D5F832DA43276D8511C1D66B79CAD1F19F940E47C744DDB2ABBEAF3244DE9387721523CFD1E811E900084AEC866FCE3817891D04378992AA485313C9F6BEF489E1E394D5107B7534DFFE213ABE3CA6D7C21F6E2FA2273F465717577DA088EF72D5BE601C9F7960C5F2DA8D73E4C5EC29278E41B4E9B28369F1877F2BBF56A6471780FEAD5687F1157B4FF0FB0E473
    DLSequence封裝組合證書:[[[CONTEXT 0]2, 35351242533515273557482149369, [1.2.840.113549.1.1.11, NULL], [[[2.5.4.6, BE]], [[2.5.4.10, GlobalSign nv-sa]], [[2.5.4.3, GlobalSign Organization Validation CA - SHA256 - G2]]], [210701011603Z, 220802011603Z], [[[2.5.4.6, CN]], [[2.5.4.8, beijing]], [[2.5.4.7, beijing]], [[2.5.4.11, service operation department]], [[2.5.4.10, Beijing Baidu Netcom Science Technology Co., Ltd]], [[2.5.4.3, baidu.com]]], [[1.2.840.113549.1.1.1, NULL], #0382010F003082010A02820101009B51C19B46502079D4D39921BE025786450A667D8AE222B513829ABF1F8319AAFBCF73042D074C43B65B855837EE169EA08FA76F0583A4C85B1773CD80D6932E3887B06ADD974B3778B561D33AD3923B47D10D1405D7658A56E93C4C4D3C55AAE1679DDB663901F2A9BA8FCB5230B398A73E6840EFD96A13ACF8D74C4358AB2163F2E80680D2F9947BAB81515675C32CB15A0EEBA328FEAEFED632EBD34F8E0943BF81D718C542C4B4F6A81F9C3C77AF85C7679B05C3BF192E6C87F749E176DD9792950662789155B659E239EDE476A6CF161A80D01717754386FBA4E7F4306806CEEB7A85042C242FC566ADB61FDAD0EE06470E58D0A849B5E2C42F7DA8F5610203010001], [CONTEXT 3][[2.5.29.15, TRUE, #030205a0], [1.3.6.1.5.5.7.1.1, #308190304d06082b060105050730028641687474703a2f2f7365637572652e676c6f62616c7369676e2e636f6d2f6361636572742f67736f7267616e697a6174696f6e76616c73686132673272312e637274303f06082b060105050730018633687474703a2f2f6f637370322e676c6f62616c7369676e2e636f6d2f67736f7267616e697a6174696f6e76616c736861326732], [2.5.29.32, #304d304106092b06010401a03201143034303206082b06010505070201162668747470733a2f2f7777772e676c6f62616c7369676e2e636f6d2f7265706f7369746f72792f3008060667810c010202], [2.5.29.19, #3000], [2.5.29.31, #3040303ea03ca03a8638687474703a2f2f63726c2e676c6f62616c7369676e2e636f6d2f67732f67736f7267616e697a6174696f6e76616c7368613267322e63726c], [2.5.29.17, #30820354820962616964752e636f6d820c626169667562616f2e636f6d820c7777772e62616964752e636e82107777772e62616964752e636f6d2e636e820f6d63742e792e6e756f6d692e636f6d820b61706f6c6c6f2e6175746f820664777a2e636e820b2a2e62616964752e636f6d820e2a2e626169667562616f2e636f6d82112a2e62616964757374617469632e636f6d820e2a2e62647374617469632e636f6d820b2a2e6264696d672e636f6d820c2a2e68616f3132332e636f6d820b2a2e6e756f6d692e636f6d820d2a2e636875616e6b652e636f6d820d2a2e7472757374676f2e636f6d820f2a2e6263652e62616964752e636f6d82102a2e6579756e2e62616964752e636f6d820f2a2e6d61702e62616964752e636f6d820f2a2e6d62642e62616964752e636f6d82112a2e66616e79692e62616964752e636f6d820e2a2e62616964756263652e636f6d820c2a2e6d697063646e2e636f6d82102a2e6e6577732e62616964752e636f6d820e2a2e62616964757063732e636f6d820c2a2e6169706167652e636f6d820b2a2e6169706167652e636e820d2a2e626365686f73742e636f6d82102a2e736166652e62616964752e636f6d820e2a2e696d2e62616964752e636f6d82122a2e6261696475636f6e74656e742e636f6d820b2a2e646c6e656c2e636f6d820b2a2e646c6e656c2e6f726782122a2e647565726f732e62616964752e636f6d820e2a2e73752e62616964752e636f6d82082a2e39312e636f6d82122a2e68616f3132332e62616964752e636f6d820d2a2e61706f6c6c6f2e6175746f82122a2e7875657368752e62616964752e636f6d82112a2e626a2e62616964756263652e636f6d82112a2e677a2e62616964756263652e636f6d820e2a2e736d617274617070732e636e820d2a2e6264746a7263762e636f6d820c2a2e68616f3232322e636f6d820c2a2e68616f6b616e2e636f6d820f2a2e7061652e62616964752e636f6d82112a2e76642e62647374617469632e636f6d82112a2e636c6f75642e62616964752e636f6d8212636c69636b2e686d2e62616964752e636f6d82106c6f672e686d2e62616964752e636f6d8210636d2e706f732e62616964752e636f6d8210776e2e706f732e62616964752e636f6d82147570646174652e70616e2e62616964752e636f6d], [2.5.29.37, #301406082b0601050507030106082b06010505070302], [2.5.29.35, #3016801496de61f1bd1c1629531cc0cc7d3b830040e61a7c], [2.5.29.14, #041434929a2f0c7162bc3ddb236d6d3eb3d11d119ded], [1.3.6.1.4.1.11129.2.4.2, #0482016901670075002245450759552456963fa12ff1f76d86e0232663adc04b7f5dc6835c6ee20f020000017a5fa326390000040300463044022020fb799165ec9b8ecfaea4a58f3917c77c43b74c4b0bf7c82166d14ebbf2245502203c60732f3d5d81d1c56fd62d8fe904302fd5f9cae4ca687146198bb738baf0e50076002979bef09e393921f056739f63a577e5be577d9c600af8f94d5d265c255dc7840000017a5fa3262a0000040300473045022100ce5dc2f4040eb1b7e0a017bad439dcef615afbc5f73262260abb06ea46f67fca0220678342a813107cf16e343318aaf89e78c10cf915a658eb5784947379f9cac82f0076005581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c0000017a5fa3264b00000403004730450220792a737cf5dfcb79085ea288dabe24b5e9d69df79091d96afca595956a6c437e022100bfb732a5aaf84fbc9ad388583c9e6e71f69d2fa69bdd6998ed66039092ca2291]]], [1.2.840.113549.1.1.11, NULL], #0382010100398A004992481658DE3E9CCE83391BB1AC9A95F956FF7C2D82D3A8365BE6CF7DFD4A987248F2B7F652D40B092CA25C3347E29A9B3E97BDD8BA0009C9AE1EB3BCDEE81EE1DED905F8A9B03DEDB97AB2A93C934E078CF05ECC8BF375336E5582E599429F9C8154FBADCE280C3842609568E14D5F832DA43276D8511C1D66B79CAD1F19F940E47C744DDB2ABBEAF3244DE9387721523CFD1E811E900084AEC866FCE3817891D04378992AA485313C9F6BEF489E1E394D5107B7534DFFE213ABE3CA6D7C21F6E2FA2273F465717577DA088EF72D5BE601C9F7960C5F2DA8D73E4C5EC29278E41B4E9B28369F1877F2BBF56A6471780FEAD5687F1157B4FF0FB0E473]
    證書16進制編碼:30820A4030820928A003020102020C7239DCC9BEB5C9CD795415F9300D06092A864886F70D01010B05003066310B300906035504061302424531193017060355040A1310476C6F62616C5369676E206E762D7361313C303A06035504031333476C6F62616C5369676E204F7267616E697A6174696F6E2056616C69646174696F6E204341202D20534841323536202D204732301E170D3231303730313031313630335A170D3232303830323031313630335A3081A7310B300906035504061302434E3110300E060355040813076265696A696E673110300E060355040713076265696A696E6731253023060355040B131C73657276696365206F7065726174696F6E206465706172746D656E7431393037060355040A13304265696A696E67204261696475204E6574636F6D20536369656E636520546563686E6F6C6F677920436F2E2C204C7464311230100603550403130962616964752E636F6D30820122300D06092A864886F70D01010105000382010F003082010A02820101009B51C19B46502079D4D39921BE025786450A667D8AE222B513829ABF1F8319AAFBCF73042D074C43B65B855837EE169EA08FA76F0583A4C85B1773CD80D6932E3887B06ADD974B3778B561D33AD3923B47D10D1405D7658A56E93C4C4D3C55AAE1679DDB663901F2A9BA8FCB5230B398A73E6840EFD96A13ACF8D74C4358AB2163F2E80680D2F9947BAB81515675C32CB15A0EEBA328FEAEFED632EBD34F8E0943BF81D718C542C4B4F6A81F9C3C77AF85C7679B05C3BF192E6C87F749E176DD9792950662789155B659E239EDE476A6CF161A80D01717754386FBA4E7F4306806CEEB7A85042C242FC566ADB61FDAD0EE06470E58D0A849B5E2C42F7DA8F5610203010001A38206AA308206A6300E0603551D0F0101FF0404030205A03081A006082B06010505070101048193308190304D06082B060105050730028641687474703A2F2F7365637572652E676C6F62616C7369676E2E636F6D2F6361636572742F67736F7267616E697A6174696F6E76616C73686132673272312E637274303F06082B060105050730018633687474703A2F2F6F637370322E676C6F62616C7369676E2E636F6D2F67736F7267616E697A6174696F6E76616C73686132673230560603551D20044F304D304106092B06010401A03201143034303206082B06010505070201162668747470733A2F2F7777772E676C6F62616C7369676E2E636F6D2F7265706F7369746F72792F3008060667810C01020230090603551D130402300030490603551D1F04423040303EA03CA03A8638687474703A2F2F63726C2E676C6F62616C7369676E2E636F6D2F67732F67736F7267616E697A6174696F6E76616C7368613267322E63726C308203610603551D110482035830820354820962616964752E636F6D820C626169667562616F2E636F6D820C7777772E62616964752E636E82107777772E62616964752E636F6D2E636E820F6D63742E792E6E756F6D692E636F6D820B61706F6C6C6F2E6175746F820664777A2E636E820B2A2E62616964752E636F6D820E2A2E626169667562616F2E636F6D82112A2E62616964757374617469632E636F6D820E2A2E62647374617469632E636F6D820B2A2E6264696D672E636F6D820C2A2E68616F3132332E636F6D820B2A2E6E756F6D692E636F6D820D2A2E636875616E6B652E636F6D820D2A2E7472757374676F2E636F6D820F2A2E6263652E62616964752E636F6D82102A2E6579756E2E62616964752E636F6D820F2A2E6D61702E62616964752E636F6D820F2A2E6D62642E62616964752E636F6D82112A2E66616E79692E62616964752E636F6D820E2A2E62616964756263652E636F6D820C2A2E6D697063646E2E636F6D82102A2E6E6577732E62616964752E636F6D820E2A2E62616964757063732E636F6D820C2A2E6169706167652E636F6D820B2A2E6169706167652E636E820D2A2E626365686F73742E636F6D82102A2E736166652E62616964752E636F6D820E2A2E696D2E62616964752E636F6D82122A2E6261696475636F6E74656E742E636F6D820B2A2E646C6E656C2E636F6D820B2A2E646C6E656C2E6F726782122A2E647565726F732E62616964752E636F6D820E2A2E73752E62616964752E636F6D82082A2E39312E636F6D82122A2E68616F3132332E62616964752E636F6D820D2A2E61706F6C6C6F2E6175746F82122A2E7875657368752E62616964752E636F6D82112A2E626A2E62616964756263652E636F6D82112A2E677A2E62616964756263652E636F6D820E2A2E736D617274617070732E636E820D2A2E6264746A7263762E636F6D820C2A2E68616F3232322E636F6D820C2A2E68616F6B616E2E636F6D820F2A2E7061652E62616964752E636F6D82112A2E76642E62647374617469632E636F6D82112A2E636C6F75642E62616964752E636F6D8212636C69636B2E686D2E62616964752E636F6D82106C6F672E686D2E62616964752E636F6D8210636D2E706F732E62616964752E636F6D8210776E2E706F732E62616964752E636F6D82147570646174652E70616E2E62616964752E636F6D301D0603551D250416301406082B0601050507030106082B06010505070302301F0603551D2304183016801496DE61F1BD1C1629531CC0CC7D3B830040E61A7C301D0603551D0E0416041434929A2F0C7162BC3DDB236D6D3EB3D11D119DED3082017D060A2B06010401D6790204020482016D0482016901670075002245450759552456963FA12FF1F76D86E0232663ADC04B7F5DC6835C6EE20F020000017A5FA326390000040300463044022020FB799165EC9B8ECFAEA4A58F3917C77C43B74C4B0BF7C82166D14EBBF2245502203C60732F3D5D81D1C56FD62D8FE904302FD5F9CAE4CA687146198BB738BAF0E50076002979BEF09E393921F056739F63A577E5BE577D9C600AF8F94D5D265C255DC7840000017A5FA3262A0000040300473045022100CE5DC2F4040EB1B7E0A017BAD439DCEF615AFBC5F73262260ABB06EA46F67FCA0220678342A813107CF16E343318AAF89E78C10CF915A658EB5784947379F9CAC82F0076005581D4C2169036014AEA0B9B573C53F0C0E43878702508172FA3AA1D0713D30C0000017A5FA3264B00000403004730450220792A737CF5DFCB79085EA288DABE24B5E9D69DF79091D96AFCA595956A6C437E022100BFB732A5AAF84FBC9AD388583C9E6E71F69D2FA69BDD6998ED66039092CA2291300D06092A864886F70D01010B05000382010100398A004992481658DE3E9CCE83391BB1AC9A95F956FF7C2D82D3A8365BE6CF7DFD4A987248F2B7F652D40B092CA25C3347E29A9B3E97BDD8BA0009C9AE1EB3BCDEE81EE1DED905F8A9B03DEDB97AB2A93C934E078CF05ECC8BF375336E5582E599429F9C8154FBADCE280C3842609568E14D5F832DA43276D8511C1D66B79CAD1F19F940E47C744DDB2ABBEAF3244DE9387721523CFD1E811E900084AEC866FCE3817891D04378992AA485313C9F6BEF489E1E394D5107B7534DFFE213ABE3CA6D7C21F6E2FA2273F465717577DA088EF72D5BE601C9F7960C5F2DA8D73E4C5EC29278E41B4E9B28369F1877F2BBF56A6471780FEAD5687F1157B4FF0FB0E473

    可發現DERSequence和DLSequence封裝後的是完全一樣的。

    可發現證書編碼就是 (Sequence head)+TBSCertificate+AlgorithmIdentifier+signatureValue,這裏的Sequence head指ASN.1格式Sequence的type和length在這裏爲0x30820A40,0x30是type也就是Sequence的標識符,0x820A40是length也就是2624,也就是後面value長度爲2624,加上0x30820A40長度4,就是輸出總能夠長度2628。說明ASN.1格式數據就是不同標識符數據的組裝拼接,數據格式數據tlv,type-length-value。

    可能比較疑惑的就是0x820A40是length也就是2624,這個數值完全不相等啊,實際value的length是不定長的,也就是用幾個字節表示長度是不確定的,具體計算長度過程請看ASN1InputStream的readLength()方法。大體解讀一下,這裏就是先讀0x82,二進爲1000 0010,從低位到高位索引爲0-7,首先看第7位也就是最高位,0說明value長度爲128以內,1說明vlaue長度大於128了,這裏是1說明大於128了,然後計算0x82&0x7F=2,這個是低7位所有數據取正,這裏是2也是後面兩個字節是value長度,也就是0x0A40=2624。簡單理解,判斷數值是正數還是負數,正數就是一個字節就最大表示127,不要擴展了,如果是複數,就是長度一個字節表示不了了,然後負數的絕對值就表示後面幾個字節表示長度。這樣理解是因爲有最高位符號位0代表正數,1代表負數的規則正好一致,所以可以這麼理解,方便記憶。

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章