рд╣рдо x.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ


рд╣рд╛рдп% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо%!

рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрдЪреНрдЫреА рд╕рдордЭ рдХреЗ рдмрд╛рд╡рдЬреВрдж, * .crt рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣рдореЗрд╢рд╛ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рд░рд╣рд╕реНрдп рдмрдиреА рд░рд╣реАред
рдирд╣реАрдВ, рдЧрд▓рдд рдордд рд╕рдордЭрд┐рдПред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ x.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рд╕реНрд╡рд╛рдореА, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА, рдкреНрд░рдорд╛рдгрди рдХреЗрдВрджреНрд░ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд▓реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рд╕рддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рдкреНрд░рдореБрдЦ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдФрд░ рдПрдХ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ? рдХреМрди рд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдбреЗрдЯрд╛ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдХреМрди рд╕рд╛ рдирд╣реАрдВ рд╣реИ? рдФрд░ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЖрдкрдХреЛ рдпрд╣ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЕрддрд┐рд░реЗрдХ рдХреЛ рдХрдо рдХрд░рдирд╛ред
рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ, рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдиреЗ рдЖрд▓рд╕реНрдп рдкрд░ рдХрд╛рдмреВ рдкрд╛ рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ x.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдФрд░ рдЗрди рдФрд░ рдЕрдиреНрдп рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рднрд╛рдЧ 1. рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд░реВрдЯ рд╕реНрддрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрдВрдЧреЗ:

рдЖрдк рдЙрдЫрд╛рд▓рднрд░реА рдХреИрд╕рд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
private void button1_Click(object sender, EventArgs e) { var KeyGenerate = new RsaKeyPairGenerator(); KeyGenerate.Init(new KeyGenerationParameters(new SecureRandom(new CryptoApiRandomGenerator()), 1024)); AsymmetricCipherKeyPair kp = KeyGenerate.GenerateKeyPair(); var gen = new X509V3CertificateGenerator(); var certName = new X509Name("CN=CA"); var serialNo = new BigInteger("1",10); gen.SetSerialNumber(serialNo); gen.SetSubjectDN(certName); gen.SetIssuerDN(certName); gen.SetNotAfter(DateTime.Now.AddYears(100)); gen.SetNotBefore(DateTime.Now); gen.SetSignatureAlgorithm("SHA1WITHRSA"); gen.SetPublicKey(kp.Public); var myCert = gen.Generate(kp.Private); byte[] result = DotNetUtilities.ToX509Certificate(myCert).Export(X509ContentType.Cert); FileStream fs = new FileStream("D:\\test1.crt", FileMode.CreateNew); fs.Write(result, 0, result.Length); fs.Flush(); fs.Close(); } 


рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рдорд╛рдирдХ x.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕реЗ рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдХреА рдорджрдж рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдПрдХ рдЕрджреНрднреБрдд рддрд░реАрдХреЗ рд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ:
 30 82 01 8F 30 81 F9 A0 03 02 01 02 02 01 01 30 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 30 0D 31 0B 30 09 06 03 55 04 03 0C 02 43 41 30 20 17 0D 31 33 30 39 31 35 31 35 33 35 30 32 5A 18 0F 32 31 31 33 30 39 32 32 31 35 33 35 30 32 5A 30 0D 31 0B 30 09 06 03 55 04 03 0C 02 43 41 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 8D 80 B5 8E 80 8E 94 D1 04 03 6A 45 1A 54 5E 7E EE 6D 0C CB 0B 82 03 F1 7D C9 6F ED 52 02 B2 08 C3 48 D1 24 70 C3 50 C2 1C 40 BC B5 9D F8 E8 A8 41 16 7B 0B 34 1F 27 8D 32 2D 38 BA 18 A5 31 A9 E3 15 20 3D E4 0A DC D8 CD 42 B0 E3 66 53 85 21 7C 90 13 E9 F9 C9 26 5A F3 FF 8C A8 92 25 CD 23 08 69 F4 A2 F8 7B BF CD 45 E8 19 33 F1 AA E0 2B 92 31 22 34 60 27 2E D7 56 04 8B 1B 59 64 77 5F 02 03 01 00 01 30 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 03 81 81 00 0A 1C ED 77 F4 79 D5 EC 73 51 32 25 09 61 F7 00 C4 64 74 29 86 5B 67 F2 3D A9 39 34 6B 3C A9 92 B8 BF 07 13 0B A0 9B DF 41 E2 8A F6 D3 17 53 E1 BA 7F C0 D0 BC 10 B7 9B 63 4F 06 D0 7B AC C6 FB CE 95 F7 8A 72 AA 10 EA B0 D1 6D 74 69 5E 20 68 5D 1A 66 28 C5 59 33 43 DB EE DA 00 80 99 5E DD 17 AC 43 36 1E D0 5B 06 0F 8C 6C 82 D3 BB 3E 2B A5 F1 94 FB 53 7B B0 54 22 6F F6 4C 18 1B 72 1C 

рдПрдХ рд╣реА рдкреНрд░рдорд╛рдг рдкрддреНрд░, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдирдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрд▓рд╛ рдЧрдпрд╛:
   CA  CA   3   0x1  ... 15.09.2013 15:35:00 GMT  ... 22.09.2113 15:35:00 GMT   (SHA-1) F9 AD 58 B5 50 3D F6 36 5E B8 89 D4 DC C8 5F CC 25 4B 93 A2   (SHA-256) 42 02 24 20 4E 8F 3A 3E 31 38 88 E5 C5 E7 C3 03 14 3A A6 52 EA 78 B9 77 42 5B 99 EB 4B BA 23 82  (1024 )    rsaEncryption  00: 8D 80 B5 8E 80 8E 94 D1 04 03 6A 45 1A 54 5E 7E 10: EE 6D 0C CB 0B 82 03 F1 7D C9 6F ED 52 02 B2 08 20: C3 48 D1 24 70 C3 50 C2 1C 40 BC B5 9D F8 E8 A8 30: 41 16 7B 0B 34 1F 27 8D 32 2D 38 BA 18 A5 31 A9 40: E3 15 20 3D E4 0A DC D8 CD 42 B0 E3 66 53 85 21 50: 7C 90 13 E9 F9 C9 26 5A F3 FF 8C A8 92 25 CD 23 60: 08 69 F4 A2 F8 7B BF CD 45 E8 19 33 F1 AA E0 2B 70: 92 31 22 34 60 27 2E D7 56 04 8B 1B 59 64 77 5F  01 00 01    sha1WithRSAEncryption  00: 0A 1C ED 77 F4 79 D5 EC 73 51 32 25 09 61 F7 00 10: C4 64 74 29 86 5B 67 F2 3D A9 39 34 6B 3C A9 92 20: B8 BF 07 13 0B A0 9B DF 41 E2 8A F6 D3 17 53 E1 30: BA 7F C0 D0 BC 10 B7 9B 63 4F 06 D0 7B AC C6 FB 40: CE 95 F7 8A 72 AA 10 EA B0 D1 6D 74 69 5E 20 68 50: 5D 1A 66 28 C5 59 33 43 DB EE DA 00 80 99 5E DD 60: 17 AC 43 36 1E D0 5B 06 0F 8C 6C 82 D3 BB 3E 2B 70: A5 F1 94 FB 53 7B B0 54 22 6F F6 4C 18 1B 72 1C 

рдЗрди рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде, рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдФрд░ рджреВрд╕рд░рд╛ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде, рдЪрд▓реЛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ * .crt рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдиреНрдХреЛрдбреЗрдб рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, ASN.1 рдирд╛рдордХ рдПрдХ рд╡рд┐рд╢реЗрд╖ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
ASN.1 рдПрдХ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдорд╛рдирдХ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡, рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, рд╕рдВрдЪрд╛рд░рдг рдФрд░ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛

ASN.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд╕реЗ рдорд┐рд▓рдХрд░ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ ASN.1 рдлрд╝рд╛рдЗрд▓ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
ASN.1 рдлрд╝рд╛рдЗрд▓
 SEQUENCE(3 elem) SEQUENCE(7 elem) [0](1 elem) INTEGER 2 INTEGER 1 SEQUENCE(2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.1.5 NULL SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 2.5.4.3 UTF8String CA SEQUENCE(2 elem) UTCTime 13-09-15 15:35:02 UTC GeneralizedTime 2113-09-22 15:35:02 UTC SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 2.5.4.3 UTF8String CA SEQUENCE(2 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.1.1 NULL BIT STRING(1 elem) SEQUENCE(2 elem) INTEGER(1024 bit) INTEGER 65537 SEQUENCE(2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.1.5 NULL BIT STRING(1024 bit) 


рд╣рд╛рд▓рд╛рдБрдХрд┐, ASN.1 рдЙрди рдЙрдЬреНрдЬреНрд╡рд▓ рджрд┐рдиреЛрдВ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм "640 KB рд╕рднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдмреЛрдЭрд┐рд▓ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдкрд░ рдЬрдЧрд╣ рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде ASN.1 рдлреЙрд░реНрдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╡рд┐рдзрд┐, рдбреАрдИрдЖрд░ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереАред

рдбреАрдИрдЖрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдо рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╣реИред рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрд╛рдЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рдЗрдЯ рдХреЛ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдХреНрд░рдо рдбреЗрдЯрд╛ рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреВрд░реНрдгрд╛рдВрдХ INTEGER 65537 рдХреЛ рдПрдирдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: 02 03 01 00 01ред
рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ 02 рдЗрдВрдЯреЗрдЧрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЖрдк рдпрд╣рд╛рдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкреНрд░рдХрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ), рджреВрд╕рд░рд╛ рдмрд╛рдЗрдЯ 03 рдмреНрд▓реЙрдХ рдХреА рд▓рдВрдмрд╛рдИ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдФрд░ рдмрд╛рдЗрдЯреНрд╕ 01 00 01 рдЬреЛ рд╣рдорд╛рд░реЗ рдирдВрдмрд░ 65537 рдХреЗ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВред

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд░рд▓рддрдо рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, 9 рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреЛрдбрд┐рдВрдЧ рдЯреЗрдмрд▓ рджреА рдЧрдИ рд╣реИ:

рдирд╛рдо рдЯрд╛рдЗрдк рдХрд░реЗрдВрд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдгрдбреАрдИрдЖрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд▓рд┐рдЦреЗрдВ
SEQUENCEрд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред30
рдкреВрд░реНрдгрд╛рдВрдХрдкреВрд░реНрдгрд╛рдВрдХред02
рдЙрджреНрджреЗрд╢реНрдп IDENTIFIERрдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХрд╛ рдПрдХ рдХреНрд░рдоред06
UTCTimeрдЕрд╕реНрдерд╛рдпреА рдкреНрд░рдХрд╛рд░, рд╡рд░реНрд╖ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рдЕрдВрдХ рд╣реЛрддреЗ рд╣реИрдВ17
GeneralizedTimeрд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдордп рдкреНрд░рдХрд╛рд░, рд╡рд░реНрд╖ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 4 рдЕрдВрдХ рд╣реЛрддреЗ рд╣реИрдВред18
рд╕реЗрдЯрд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред31
UTF8Stringрд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред0C
рд╢реВрдиреНрдпрд╡рд╛рд╕реНрддрд╡ рдореЗрдВ NULL05
BIT STRINGрдмрд┐рдЯреНрд╕ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдХрд░реЗрдВред03


рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреИрд╕реЗ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИ, рд╣рдо рдЕрдкрдиреА * .crt рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
30 82 01 8F 30 81 F9 A0 03 02 01 02 02 01 01 30
0 рдбреА 06 09 2 рдП 86 48 86 рдПрдл 7 0 рдбреА 01 01 05 05 00 30 0 рдбреА
31 0 рдмреА 30 09 06 03 55 04 03 0 рд╕реА 02 43 41 30 20 17
0 рдбреА 31 33 30 39 31 35 31 35 33 35 30 32 5 рдП 18 0 рдПрдл
32 31 31 33 30 39 32 32 31 35 33 35 30 5 рдП 30
0 рдбреА 31 0 рдмреА 30 09 06 03 55 04 03 0 рд╕реА 02 43 41 30 81
9 рдПрдл 30 0 рдбреА 06 09 2 рдП 86 48 86 рдПрдл 7 0 рдбреА 01 01 01 05 00
03 81 8 рдбреА 00 30 81 89 02 81 00 8D 80 B5 8E 80
8 рдИ 94 рдбреА 1 04 03 6 рдП 45 1 рдП 54 5 рдИ 7 рдИрдИ 6 рдбреА 0 рд╕реАрдмреА 0 рдмреА
82 03 рдПрдл 1 7 рдбреА рд╕реА 9 6 рдПрдл рдИрдбреА 52 02 рдмреА 2 08 рд╕реА 3 48 рдбреА 1 24 70
C3 50 C2 1C 40 BC B5 9D F8 E8 A8 41 16 7B 0B 34
1 рдПрдл 27 8 рдбреА 32 2 рдбреА 38 рдмреАрдП 18 рдП 5 31 рдП 9 рдИ 3 15 20 3 рдбреА рдИ 4
0 рдП рдбреАрд╕реА рдбреА 8 рд╕реАрдбреА 42 рдмреА 0 рдИ 3 66 53 85 21 7 рд╕реА 90 13 рдИ 9 рдПрдл 9
рд╕реА 9 26 5 рдП рдПрдл 3 рдПрдлрдПрдл 8 рд╕реА рдП 8 92 25 рд╕реАрдбреА 23 08 69 рдПрдл 4 рдП 2 рдПрдл 8
7 рдмреА рдмреАрдПрдл рд╕реАрдбреА 45 рдИ 8 19 33 рдПрдл 1 рдПрдП рдИ 2 рдмреА 92 31 31 34 34 60
27 2 рдИ рдбреА 7 56 04 8 рдмреА 1 рдмреА 59 64 77 5 рдПрдл 02 03 01 00 01
30 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 03
81 81 00 0A 1C ED 77 F4 79 D5 EC 73 51 32 25 09
61 F7 00 C4 64 74 29 86 5B 67 F2 3D A9 39 34 6B
3 рд╕реА рдП 9 92 рдмреА 8 рдмреАрдПрдл 07 13 0 рдмреА рдП0 9 рдмреА рдбреАрдПрдл 41 рдИ 2 8 рдП рдПрдл 6 рдбреА 3
17 53 E1 BA 7F C0 D0 BC 10 B7 9B 63 4F 06 D0 7B
рдПрд╕реА рд╕реА 6 рдПрдлрдмреА рд╕реАрдИ 95 рдПрдл 7 8 рдП 72 рдПрдП 10 рдИрдП рдмреА 0 рдбреА 1 6 рдбреА 74 69
5E 20 68 5D 1A 66 28 C5 59 33 43 DB EE DA 00 80
99 5 рдИ рдбреАрдбреА 17 рдПрд╕реА 43 36 1 рдИ рдбреА 5 рдмреА 06 06 рдПрдл 8 рд╕реА 6 рд╕реА 82 рдбреА 3
BB 3E 2B A5 F1 94 FB 53 7B B0 54 22 6F F6 4C 18
1 рдмреА 72 1 рд╕реА

рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рдФрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╣рдЯрд╛рдХрд░ рдмреНрд▓реЙрдХреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
 SEQUENCE(3 elem) SEQUENCE(7 elem) [0](1 elem) INTEGER 2 INTEGER 1 SEQUENCE(2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.1.5 NULL SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 2.5.4.3 UTF8String CA SEQUENCE(2 elem) UTCTime 13-09-15 15:35:02 UTC GeneralizedTime 2113-09-22 15:35:02 UTC SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 2.5.4.3 UTF8String CA SEQUENCE(2 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.1.1 NULL BIT STRING(1 elem) SEQUENCE(2 elem) INTEGER 00: 8D 80 B5 8E 80 8E 94 D1 04 03 6A 45 1A 54 5E 7E EE 6D 0C CB 0B 82 03 F1 7D C9 6F ED 52 02 B2 08 C3 48 D1 24 70 C3 50 C2 1C 40 BC B5 9D F8 E8 A8 41 16 7B 0B 34 1F 27 8D 32 2D 38 BA 18 A5 31 A9 E3 15 20 3D E4 0A DC D8 CD 42 B0 E3 66 53 85 21 7C 90 13 E9 F9 C9 26 5A F3 FF 8C A8 92 25 CD 23 08 69 F4 A2 F8 7B BF CD 45 E8 19 33 F1 AA E0 2B 92 31 22 34 60 27 2E D7 56 04 8B 1B 59 64 77 5F INTEGER 65537 SEQUENCE(2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.1.5 NULL BIT STRING 00: 0A 1C ED 77 F4 79 D5 EC 73 51 32 25 09 61 F7 00 C4 64 74 29 86 5B 67 F2 3D A9 39 34 6B 3C A9 92 B8 BF 07 13 0B A0 9B DF 41 E2 8A F6 D3 17 53 E1 BA 7F C0 D0 BC 10 B7 9B 63 4F 06 D0 7B AC C6 FB CE 95 F7 8A 72 AA 10 EA B0 D1 6D 74 69 5E 20 68 5D 1A 66 28 C5 59 33 43 DB EE DA 00 80 99 5E DD 17 AC 43 36 1E D0 5B 06 0F 8C 6C 82 D3 BB 3E 2B A5 F1 94 FB 53 7B B0 54 22 6F F6 4C 18 1B 72 1C 

рдпрд╣ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЦреЛрд▓рддреЗ рд╕рдордп рд╣рдо рдЬреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд╕рдорд╛рди рд╣реИред рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рдЬрд╛рдПрдВ:


рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рд▓рд╛рдпрдХ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╡рд╣ рдбреЗрдЯрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рд╣рдЬ рд░реВрдк рд╕реЗ, рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╡рд╛рд▓реЗ рдЕрдВрддрд┐рдо BIT STRING рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдбреЗрдЯрд╛ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред X.509 рдорд╛рдирдХ рдореЗрдВ, рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрд╛рдЧ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ TBS рдкреНрд░рдорд╛рдгрдкрддреНрд░ (рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред TSB рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рд╕рднреА рд╕рдВрд▓рдЧреНрди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЗ рд╕реНрддрд░ рдХрд╛ рдЕрдиреБрдХреНрд░рдо рд╢рд╛рдорд┐рд▓ рд╣реИред
  SEQUENCE(7 elem) [0](1 elem) INTEGER 2 INTEGER 1 SEQUENCE(2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.1.5 NULL SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 2.5.4.3 UTF8String CA SEQUENCE(2 elem) UTCTime 13-09-15 15:35:02 UTC GeneralizedTime 2113-09-22 15:35:02 UTC SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 2.5.4.3 UTF8String CA SEQUENCE(2 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.1.1 NULL BIT STRING(1 elem) SEQUENCE(2 elem) INTEGER 00: 8D 80 B5 8E 80 8E 94 D1 04 03 6A 45 1A 54 5E 7E EE 6D 0C CB 0B 82 03 F1 7D C9 6F ED 52 02 B2 08 C3 48 D1 24 70 C3 50 C2 1C 40 BC B5 9D F8 E8 A8 41 16 7B 0B 34 1F 27 8D 32 2D 38 BA 18 A5 31 A9 E3 15 20 3D E4 0A DC D8 CD 42 B0 E3 66 53 85 21 7C 90 13 E9 F9 C9 26 5A F3 FF 8C A8 92 25 CD 23 08 69 F4 A2 F8 7B BF CD 45 E8 19 33 F1 AA E0 2B 92 31 22 34 60 27 2E D7 56 04 8B 1B 59 64 77 5F INTEGER 65537 

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрджрд┐ рдЖрдкрдХреЛ x.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╣рд▓реЗ TBS рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред

рдПрдХ рдФрд░ рдиреЛрдЯ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдХрд╛рд╢рдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдлрд╝рд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рд╕рд╛рдорд╛рдиреНрдп SHA-1 рд╣реИрд╢ рдорд╛рди рд╣реИ, рдЗрд╕рдХреЗ рд╕рднреА рдлрд╝реАрд▓реНрдб, рдкреНрд░рдХрд╛рд╢рдХ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рд╣рд┐рддред рдЗрд╕рд▓рд┐рдП, рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЖрдк рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рднрд╛рдЧ 2. рд╕реНрддрд░ 2 рдкреНрд░рдорд╛рдг рдкрддреНрд░


рдЖрдкрдиреЗ рдФрд░ рдореИрдВрдиреЗ рдПрдХ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдЗрдирд╕рд╛рдЗрдб рдХреА рдЬрд╛рдВрдЪ рдХреА, рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рд░реВрдЯ рдХреЗрдВрджреНрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реЗ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, CA рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреА рдирд┐рдЬреА рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЗрд╕рдореЗрдВ рд╣рдо рдлрд┐рд░ рд╕реЗ рдмрд╛рдЙрдВрд╕реА рдХреИрд╕рд▓ рдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗред
 private void button2_Click(object sender, EventArgs e) { var KeyGenerate = new RsaKeyPairGenerator(); KeyGenerate.Init(new KeyGenerationParameters(new SecureRandom(new CryptoApiRandomGenerator()), 1024)); AsymmetricCipherKeyPair kp2 = kpgen.GenerateKeyPair(); var gen2 = new X509V3CertificateGenerator(); var certName = new X509Name("CN=CA"); var serialNo = new BigInteger("1",10); var certName2 = new X509Name("CN=User"); var certNameOwner2 = new X509Name("CN=User"); var serialNo2 = new BigInteger("2", 10); gen2.SetSerialNumber(serialNo2); gen2.SetSubjectDN(certName2); gen2.SetIssuerDN(certName); gen2.SetNotAfter(DateTime.Now.AddYears(100)); gen2.SetNotBefore(DateTime.Now.Subtract(new TimeSpan(7, 0, 0, 0))); gen2.SetSignatureAlgorithm("SHA1WITHRSA"); gen2.SetPublicKey(kp2.Public); gen2.AddExtension( X509Extensions.AuthorityKeyIdentifier.Id, false, new AuthorityKeyIdentifier( SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(kp.Public), new GeneralNames(new GeneralName(certName)), serialNo)); var newCert2 = gen2.Generate(kp.Private); byte[] result = DotNetUtilities.ToX509Certificate(newCert2).Export(X509ContentType.Cert); FileStream fs = new FileStream("D:\\FullTest.crt", FileMode.CreateNew); fs.Write(result, 0, result.Length); fs.Flush(); fs.Close(); } 


рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реБрдВрджрд░рддрд╛ рдорд┐рд▓рддреА рд╣реИ:
 SEQUENCE(3 elem) SEQUENCE(8 elem) [0](1 elem) INTEGER2 INTEGER2 SEQUENCE(2 elem) OBJECT IDENTIFIER1.2.840.113549.1.1.5 NULL SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER2.5.4.3 UTF8StringCA SEQUENCE(2 elem) UTCTime13-09-15 15:35:02 UTC GeneralizedTime2113-09-22 15:35:02 UTC SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER2.5.4.3 UTF8StringUser SEQUENCE(2 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER1.2.840.113549.1.1.1 NULL BIT STRING(1 elem) SEQUENCE(2 elem) INTEGER(1024 bit) INTEGER65537 [3](1 elem) SEQUENCE(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER2.5.29.35 OCTET STRING(1 elem) SEQUENCE(3 elem) [0](20 byte) 6FBC9476035CB50061524C4ABE9064C9C4C32E6B [1](1 elem) [4](1 elem) SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER2.5.4.3 UTF8StringCA [2](1 byte) 01 SEQUENCE(2 elem) OBJECT IDENTIFIER1.2.840.113549.1.1.5 NULL BIT STRING(1024 bit) 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реЗ рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмреНрд▓реЙрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИ:
 [3](1 elem) SEQUENCE(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 2.5.29.35 OCTET STRING(1 elem) SEQUENCE(3 elem) [0](20 byte) 6FBC9476035CB50061524C4ABE9064C9C4C32E6B [1](1 elem) [4](1 elem) SEQUENCE(1 elem) SET(1 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER 2.5.4.3 UTF8String CA [2](1 byte) 01 

рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдкреНрд░рдХрд╛рд╢рдХ рдФрд░ рдЙрд╕рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣рд╛рдВ рдореИрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕ рдмреНрд▓реЙрдХ рдХреЗ рдмрд┐рдирд╛, рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЕрднреА рднреА рдЪрд╛рд▓реВ рд░рд╣реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХрд╛рд╢рдХ рдХреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдмреНрд▓реЙрдХ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рдЕрд▓рдЧ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред


рдЕрдВрдд рдореЗрдВ, рдорд╛рдирдХ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдЬрдЧрд╣ рдореЗрдВ рд╣реИрдВ:
   User  CA   3   0x2  ... 15.09.2013 15:35:00 GMT  ... 22.09.2113 15:35:00 GMT   (SHA-1) A4 E7 9B AD E7 E2 67 B1 8A D6 6F F9 61 0D 42 A9 DB C3 A9 67   (SHA-256) 39 A2 D8 47 CE F7 E7 C3 81 62 8A 4A 65 F3 4A E8 6F 12 B7 8A 1A ED F9 94 6E 57 19 F6 39 DA B7 8F  (1024 )    rsaEncryption  00: A7 BA 25 52 5F 0D 82 EE 2C B1 F0 E1 E2 0D 3F B2 10: 25 06 DB A2 5A B0 D3 00 D7 2C 1F 85 8C 71 73 95 20: 8A 06 6C 04 6D 4B AB 15 50 1E 53 92 9F BA 6E 04 30: 5D 71 6B C0 0A 8E 6C 51 51 2F 27 2E BB 8E C9 FF 40: 9C C2 E2 45 56 26 6B 61 C5 C1 67 0C 6F A9 8A 16 50: 76 8E 12 DB 38 A2 B3 09 6F B3 39 DD 9B EB 98 B7 60: 61 9F 9E 18 65 4F DB AB 74 72 79 AC 14 7C 24 D8 70: 47 16 5B 17 30 CB 6E FB 45 5E D1 04 37 FA 85 C3  01 00 01    sha1WithRSAEncryption  00: 2C 1C D9 7F B4 F2 D0 10 16 7A B7 29 D6 89 A4 A1 10: 2B 4A 78 1B 85 38 53 83 4E 71 3C 81 C0 A5 AD A8 20: AB 16 59 F4 D3 A7 7E 83 2F AE 21 75 9E 91 F6 FC 30: 93 A3 AE F5 27 CF 5F 0B C9 5F DC E1 75 26 D5 39 40: 74 32 39 B9 BD 95 79 A7 EE 02 0C 56 0A A9 A5 83 50: F8 86 0D 6F B5 7F C5 FE 23 0B 4B 5C 65 A8 BC 89 60: 36 37 B3 53 74 BB 25 66 10 F8 53 AA EF 05 9E ED 70: 74 04 E9 3D F4 DF 85 71 37 57 5D E7 D8 C6 8E EA  X509v3 Authority Key Identifier keyid:6F:BC:94:76:03:5C:B5:00:61:52:4C:4A:BE:90:64:C9:C4:C3:2E:6B DirName:/CN=CA serial:01 


рдирд┐рд╖реНрдХрд░реНрд╖


рдЬреЛ рдореЗрд╣рдирддреА рд▓реЛрдЧ рдЗрди рд╕рднреА ASN.1 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдореИрдВ рдЖрдкрдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрдо рд╕реЗ рдХрдо рдереЛрдбрд╝рд╛ рджрд┐рд▓рдЪрд╕реНрдк рдереЗред рдФрд░ рдпрд╣ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ X.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреНрдпрд╛ рд╣реИред

рдЦреИрд░, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд┐рдВрдХ рдЬреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВред
  1. RFC5280 - рдПрдХ x.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд┐рд░рд╕реНрддреАрдХрд░рдг рд╕реВрдЪреА рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ред
  2. рдЙрддреНрддрд░рдЬреАрд╡рд┐рддрд╛ рдЧрд╛рдЗрдб - рдПрд╕рдПрд╕рдПрд▓ / рдЯреАрдПрд▓рдПрд╕ рдФрд░ рдПрдХреНрд╕ 509 рдкреНрд░рдорд╛рдг рдкрддреНрд░
  3. ASN.1 рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ , рд╣реИрдмрд░ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдХрд╛ рдкреНрд░рдХрд╛рд░
  4. рдбреАрдИрдЖрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрди-рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛
  5. рдкреНрд░рд╛рдердорд┐рдХ рдорд╛рдирдХ ITU-T X.509 (+ рд░реВрд╕реА рдЕрдиреБрд╡рд╛рдж) рд╣реИ ред рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж ystr ред

Source: https://habr.com/ru/post/In194664/


All Articles