เจชเจพเจˆเจกเจฐเจพเจธเจจ: เจฎเฉˆเจ‚ เจธเจฒเจพเจŸ เจ…เจคเฉ‡ เจฌเจฒเฉŒเจฌเจธ เจจเจพเจฒ เจ‡เฉฑเจ• ASN.1 เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจฟเจ–เฉ€

ASN.1 เจ‡เจน เจขเจพเจ‚เจšเจพเจ—เจค เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจตเจพเจฒเฉ€ เจญเจพเจธเจผเจพ เจฆเจพ เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐเฉ€ (ISO, ITU-T, GOST) เจนเฉˆ, เจจเจพเจฒ เจนเฉ€ เจ‡เจธ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจเจจเจ•เฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจจเจฟเจฏเจฎเฅค เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ, เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจ‡เจน JSON, XML, XDR เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผ เจ•เจฐเจจ เจ…เจคเฉ‡ เจชเฉ‡เจธเจผ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจซเจพเจฐเจฎเฉˆเจŸ เจนเฉˆเฅค เจ‡เจน เจธเจพเจกเฉ‡ เจฐเฉ‹เจœเจผเจพเจจเจพ เจœเฉ€เจตเจจ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจ†เจฎ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฒเฉ‹เจ• เจ‡เจธเจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเจจ: เจธเฉˆเจฒเฉ‚เจฒเจฐ, เจŸเฉˆเจฒเฉ€เจซเฉ‹เจจ, VoIP เจธเฉฐเจšเจพเจฐ (UMTS, LTE, WiMAX, SS7, H.323), เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ (LDAP, SNMP, Kerberos) เจตเจฟเฉฑเจš, เจนเจฐ เจšเฉ€เจœเจผ เจตเจฟเฉฑเจš เจœเฉ‹ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ (X.509, CMS, PKCS เจฎเจพเจจเจ•เจพเจ‚), เจฌเฉˆเจ‚เจ• เจ•เจพเจฐเจกเจพเจ‚ เจ…เจคเฉ‡ เจฌเจพเจ‡เจ“เจฎเฉˆเจŸเฉเจฐเจฟเจ• เจชเจพเจธเจชเฉ‹เจฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆเฅค

เจ‡เจน เจฒเฉ‡เจ– เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจนเฉˆ เจชเจพเจˆเจกเจฐเจพเจธเจจ: เจชเจพเจˆเจฅเจจ ASN.1 เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจฟเฉฑเจš เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฐเจ—เจฐเจฎเฉ€ เจจเจพเจฒ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจเจŸเจฒเจธ.

เจชเจพเจˆเจกเจฐเจพเจธเจจ: เจฎเฉˆเจ‚ เจธเจฒเจพเจŸ เจ…เจคเฉ‡ เจฌเจฒเฉŒเจฌเจธ เจจเจพเจฒ เจ‡เฉฑเจ• ASN.1 เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจฟเจ–เฉ€
เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, ASN.1 เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจ•เจพเจฐเจœเจพเจ‚ เจฒเจˆ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจจ เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉˆ: ASN.1 เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ•เฉ‹เจกเฉ‡เจ•เจธ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจนเจจเฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ•เฉ‹เจก เจธเจงเจพเจฐเจจ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจ‡เจน เจนเจฎเฉ‡เจธเจผเจพ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจนเจฎเจฒเจพ เจตเฉˆเจ•เจŸเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจฌเจธ เจฆเฉ‡เจ–เฉ‹ เจธเฉ‚เจšเฉ€ เจจเฉ‚เฉฐ ASN.1 เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€เจ†เจ‚เฅค เจ‰เจธ เจตเจฟเฉฑเจš เจฌเจฐเฉ‚เจธ เจธเจจเฉ€เจ…เจฐ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจฟเฉฐเจ— เจ‡เจธ เจฆเฉ€ เจ—เฉเฉฐเจเจฒเจคเจพ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ‡เจธ เจฎเจฟเจ†เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจตเฉ€ เจธเจฒเจพเจน เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ: "เจธเจญ เจคเฉ‹เจ‚ เจฎเจธเจผเจนเฉ‚เจฐ TLV เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— ASN.1 เจนเฉˆ, เจชเจฐ เจ‡เจน เจฌเจนเฉเจค เจนเฉ€ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจคเฉ‹เจ‚ เจฆเฉ‚เจฐ เจฐเจนเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค" เจชเจฐ, เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ…เฉฑเจœ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเฉˆ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเจพ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‰เจน เจธเจฐเจ—เจฐเจฎเฉ€ เจจเจพเจฒ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ X.509 เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ, CRL, OCSP, TSP, CMP เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ, เจธเฉ€.เจเจฎ.เจธเฉ€., เจธเฉเจจเฉ‡เจนเฉ‡ CMS, เจ…เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฎเจฟเจ†เจฐ เจชเฉ€.เจ•เฉ‡.เจธเฉ€.เจเจธ. เจ‡เจธ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจ•เฉเจ เจตเฉ€ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ ASN.1 เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

ASN.1 เจจเฉ‚เฉฐ เจ•เจˆ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚/เจ•เฉ‹เจกเฉˆเจ•เจธ เจตเจฟเฉฑเจš เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

  • เจฌเฉ€.เจˆ.เจ†เจฐ. (เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • เจธเฉ€.เจˆ.เจ†เจฐ (เจ•เฉˆเจจเฉ‹เจจเฉ€เจ•เจฒ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • DER (เจตเจฟเจธเจผเฉ‡เจธเจผ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • เจœเฉ€.เจเจธ.เจˆ.เจ†เจฐ (เจ†เจฎ เจธเจคเจฐ เจ‡เฉฐเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • เจœเฉ‡.เจˆ.เจ†เจฐ (JSON เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • LWER (เจนเจฒเจ•เฉ‡ เจญเจพเจฐ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • OER (เจ“เจ•เจŸเฉ‡เจŸ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • เจชเฉเจฐเจคเฉ€ (เจชเฉˆเจ•เจก เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • SER (เจธเจฟเจ—เจจเจฒ เจ–เจพเจธ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)
  • เจšเฉ‡เจฒเฉ‡ (XML เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเจฟเจฏเจฎ)

เจ…เจคเฉ‡ เจ•เจˆ เจนเฉ‹เจฐเฅค เจชเจฐ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจ•เฉฐเจฎเจพเจ‚ เจตเจฟเฉฑเจš, เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš, เจฆเฉ‹ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ: BER เจ…เจคเฉ‡ DER. เจนเจธเจคเจพเจ–เจฐ เจ•เฉ€เจคเฉ‡ XML เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ€ (XMLDSig, XAdES) เจ…เจœเฉ‡ เจตเฉ€ เจฌเฉ‡เจธ64-เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเฉ‡ ASN.1 DER เจ†เจฌเจœเฉˆเจ•เจŸ เจนเฉ‹เจฃเจ—เฉ‡, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ JSON-เจ…เจงเจพเจฐเจฟเจค เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจตเจฟเฉฑเจš ACME เจ†เจ‰ เจ‡เจจเจ•เฉเจฐเจฟเจชเจŸ เจคเฉ‹เจ‚เฅค เจคเฉเจธเฉ€เจ‚ เจฒเฉ‡เจ–เจพเจ‚ เจ…เจคเฉ‡ เจ•เจฟเจคเจพเจฌเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจธเจพเจฐเฉ‡ เจ•เฉ‹เจกเฉ‡เจ•เจธ เจ…เจคเฉ‡ BER/CER/DER เจ•เฉ‹เจกเจฟเฉฐเจ— เจธเจฟเจงเจพเจ‚เจคเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจฎเจ เจธเจ•เจฆเฉ‡ เจนเฉ‹: ASN.1 เจธเจงเจพเจฐเจจ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, ASN.1 โ€” เจ“เจฒเฉ€เจตเฉ€เจ…เจฐ เจกเฉเจฌเจฟเจŠเจธเจจ เจฆเฉเจ†เจฐเจพ เจตเจฟเจญเจฟเฉฐเจจ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเฉฐเจšเจพเจฐ, ASN.1 เจชเฉเจฐเฉ‹ เจœเฉŒเจนเจจ เจฒเจพเจฐเจฎเจพเจŠเจฅ เจฆเฉเจ†เจฐเจพ เจธเฉฐเจชเฉ‚เจฐเจจ.

BER เจ‡เฉฑเจ• เจฌเจพเจˆเจจเจฐเฉ€ เจฌเจพเจˆเจŸ-เจ…เจงเจพเจฐเจฟเจค (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ PER, เจธเฉˆเจฒเฉ‚เจฒเจฐ เจธเฉฐเจšเจพเจฐ เจตเจฟเฉฑเจš เจชเฉเจฐเจธเจฟเฉฑเจง - เจฌเจฟเฉฑเจŸ-เจ…เจงเจพเจฐเจฟเจค) TLV เจซเจพเจฐเจฎเฉˆเจŸ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจคเฉฑเจค เจจเฉ‚เฉฐ เจ‡เฉฐเจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ: เจŸเฉˆเจ— (Tag), เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจคเฉฑเจค เจฆเฉ€ เจ•เจฟเจธเจฎ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจเจพ (เจชเฉ‚เจฐเจจ เจ…เฉฐเจ•, เจธเจคเจฐ, เจฎเจฟเจคเฉ€, เจ†เจฆเจฟ), เจฒเฉฐเจฌเจพเจˆ (Length) เจธเจฎเฉฑเจ—เจฐเฉ€ เจ…เจคเฉ‡ เจธเจฎเฉฑเจ—เจฐเฉ€ เจ†เจชเจฃเฉ‡ เจ†เจช (Value). BER เจตเจฟเจ•เจฒเจชเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจจเจฟเจธเจผเจšเจฟเจค เจฒเฉฐเจฌเจพเจˆ เจฆเจพ เจฎเฉเฉฑเจฒ เจธเฉˆเฉฑเจŸ เจ•เจฐเจ•เฉ‡ เจ…เจคเฉ‡ เจเจ‚เจก-เจ†เจซ-เจ“เจ•เจŸเฉ‡เจŸเจธ เจธเฉเจจเฉ‡เจนเฉ‡ เจจเฉ‚เฉฐ เจ…เฉฐเจค-เจ”เจซ-เจ“เจ•เจŸเฉ‡เจŸ เจšเจฟเฉฐเจจเฉเจน เจฆเฉ‡ เจจเจพเจฒ เจ–เจคเจฎ เจ•เจฐเจ•เฉ‡ เจฒเฉฐเจฌเจพเจˆ เจฆเจพ เจฎเฉเฉฑเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจพ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฒเฉฐเจฌเจพเจˆ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, BER เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจเจจเจ•เฉ‹เจก เจ•เจฐเจจ เจฆเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉ€เจฒเจคเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ:

  • เจชเฉ‚เจฐเจจ เจ…เฉฐเจ•, เจตเจธเจคเฉ‚ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ, เจฌเจฟเฉฑเจŸ เจธเจŸเฉเจฐเจฟเฉฐเจ— เจ…เจคเฉ‡ เจคเฉฑเจค เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจ†เจฎ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ (เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจเจจเจ•เฉ‹เจก เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ);
  • BOOLEAN เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ—เฉˆเจฐ-เจœเจผเฉ€เจฐเฉ‹ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฒเจˆ เจธเฉฑเจš เจนเฉˆ;
  • BIT STRING เจตเจฟเฉฑเจš "เจตเจพเจงเฉ‚" เจœเจผเฉ€เจฐเฉ‹ เจฌเจฟเฉฑเจŸ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจ;
  • BIT STRING, OCTET STRING เจ…เจคเฉ‡ เจฎเจฟเจคเฉ€/เจธเจฎเจพเจ‚ เจธเจฎเฉ‡เจค เจ‰เจนเจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€เจ†เจ‚ เจธเจŸเฉเจฐเจฟเฉฐเจ— เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ-เจฒเฉฐเจฌเจพเจˆ เจฆเฉ‡ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจธเจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ (เจกเฉ€)เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจœเจพเจฃเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ;
  • UTCTtime/GeneralizedTime เจ•เฉ‹เจฒ เจธเจฎเจพเจ‚ เจœเจผเฉ‹เจจ เจ†เจซเจธเฉˆเฉฑเจŸ เจ…เจคเฉ‡ เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ‡ "เจตเจพเจงเฉ‚" เจœเจผเฉ€เจฐเฉ‹ เจซเจฐเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ‡ เจตเฉฑเจ–เฉ‹-เจตเฉฑเจ–เจฐเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจ;
  • DEFAULT SEQUENCE เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจจเจนเฉ€เจ‚;
  • เจ‡เฉฑเจ• BIT STRING เจตเจฟเฉฑเจš เจ†เจ–เจฐเฉ€ เจฌเจฟเฉฑเจŸเจพเจ‚ เจฆเฉ‡ เจจเจพเจฎเจฟเจค เจฎเฉเฉฑเจฒ เจตเจฟเจ•เจฒเจชเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจจเจ•เฉ‹เจก เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ;
  • SEQUENCE (OF)/SET (OF) เจตเจฟเฉฑเจš เจคเฉฑเจคเจพเจ‚ เจฆเจพ เจ•เฉ‹เจˆ เจตเฉ€ เจ•เฉเจฐเจฎ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ‰เจชเจฐเฉ‹เจ•เจค เจธเจพเจฐเฉ‡ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจ•เจฐเจจเจพ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจน เจ…เจธเจฒ เจฐเฉ‚เจช เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉ‹เจตเฉ‡ เจนเจฎเฉ‡เจธเจผเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค เจ‡เจธ เจฒเจˆ, เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฌเจธเฉˆเฉฑเจŸ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€: DER - เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจตเฉˆเจง เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจธเจ–เจคเฉ€ เจจเจพเจฒ เจจเจฟเจฏเฉฐเจคเฉเจฐเจฟเจค เจ•เจฐเจจเจพ, เจœเฉ‹ เจ•เจฟ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจ•เจพเจฐเจœเจพเจ‚ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจฌเจฟเฉฑเจŸ เจฌเจฆเจฒเจฃ เจจเจพเจฒ เจฆเจธเจคเจ–เจค เจœเจพเจ‚ เจšเฉˆเฉฑเจ•เจธเจฎ เจ…เจตเฉˆเจง เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค DER เจฆเจพ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจจเฉเจ•เจธเจพเจจ เจนเฉˆ: เจธเจพเจฐเฉ‡ เจคเฉฑเจคเจพเจ‚ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจจเฉ‚เฉฐ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจธเจฎเฉ‡เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจธเจŸเฉเจฐเฉ€เจฎ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค CER เจ•เฉ‹เจกเฉ‡เจ• เจตเจฟเฉฑเจš เจ‡เจน เจ•เจฎเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจ‡เฉฑเจ• เจ…เจธเจชเจธเจผเจŸ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจฆเฉ€ เจ—เจพเจฐเฉฐเจŸเฉ€ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ (เจœเจพเจ‚ เจ‡เจน เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจค เจนเฉˆ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเฉ‹เจฐ เจตเฉ€ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจกเฉ€เจ•เฉ‹เจกเจฐ เจจเจนเฉ€เจ‚ เจนเจจ?), เจ‡เจน เจชเฉเจฐเจธเจฟเฉฑเจง เจจเจนเฉ€เจ‚ เจนเฉ‹เจ‡เจ†เฅค เจ‡เจธเจฒเจˆ, เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ BER เจ…เจคเฉ‡ DER เจเจจเจ•เฉ‹เจกเจก เจกเฉ‡เจŸเจพ เจฆเฉ€ "เจฎเจฟเจธเจผเจฐเจค" เจตเจฐเจคเฉ‹เจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ CER เจ…เจคเฉ‡ DER เจฆเฉ‹เจตเฉ‡เจ‚ BER เจฆเฉ‡ เจธเจฌเจธเฉˆเฉฑเจŸ เจนเจจ, เจ•เฉ‹เจˆ เจตเฉ€ BER เจกเฉ€เจ•เฉ‹เจกเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจฒ เจธเจ•เจฆเจพ เจนเฉˆเฅค

pyasn1 เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚

เจ•เฉฐเจฎ 'เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจชเจพเจˆเจฅเจจ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจคเฉ‡ เจ•เฉเจ เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจฎเฉเจซเจค เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฆเจพ เจ•เฉ‹เจˆ เจตเจฟเจ•เจฒเจช เจจเจนเฉ€เจ‚ เจธเฉ€: เจœเจพเจ‚ เจคเจพเจ‚ เจ‡เจน เจฌเจนเฉเจค เจ˜เฉฑเจŸ-เจชเฉฑเจงเจฐเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจนเจจ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจ‡เฉฐเจ•เฉ‹เจก/เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจธเจฟเจฐเจฒเฉ‡เจ–, เจœเจพเจ‚ เจ‡เจน เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ pyasn1. เจ…เจธเฉ€เจ‚ เจ‡เจธ 'เจคเฉ‡ เจ•เจˆ เจธเจพเจฒเจพเจ‚ เจคเฉฑเจ• เจฐเจนเฉ‡ เจ…เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจ…เจธเฉ€เจ‚ เจฌเจนเฉเจค เจ–เฉเจธเจผ เจนเฉ‹เจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เฉฑเจš-เจชเฉฑเจงเจฐเฉ€ เจตเจธเจคเฉ‚เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ ASN.1 เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ: เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจกเฉ€เจ•เฉ‹เจก เจ•เฉ€เจคเจพ X.509 เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ†เจฌเจœเฉˆเจ•เจŸ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจ–เฉ‡เจคเจฐเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ‡เฉฑเจ• เจกเจฟเจ•เจธเจผเจจเจฐเฉ€ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ: cert[โ€œtbsCertificateโ€] ["serialNumber"] เจธเจพเจจเฉ‚เฉฐ เจ‡เจธ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเจพ เจธเฉ€เจฐเฉ€เจ…เจฒ เจจเฉฐเจฌเจฐ เจฆเจฟเจ–เจพเจเจ—เจพเฅค เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚, เจคเฉเจธเฉ€เจ‚ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจตเจธเจคเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจธเฉ‚เจšเฉ€เจ†เจ‚, เจธเจผเจฌเจฆเจ•เฉ‹เจธเจผเจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจ•เฉ‡ "เจ‡เจ•เฉฑเจ เจพ" เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจซเจฟเจฐ เจธเจฟเจฐเจซเจผ pyasn1.codec.der.encoder.encode เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฆเฉ€ เจฒเฉœเฉ€เจฌเฉฑเจง เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹เฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ•เจฎเฉ€เจ†เจ‚, เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจ…เจคเฉ‡ เจธเฉ€เจฎเจพเจตเจพเจ‚ เจชเฉเจฐเจ—เจŸ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจ. เจ‰เฉฑเจฅเฉ‡ เจธเจจ เจ…เจคเฉ‡, เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ…เจœเฉ‡ เจตเฉ€ pyasn1 เจตเจฟเฉฑเจš เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจนเจจ: เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚, pyasn1 เจตเจฟเฉฑเจš เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจ•เจฟเจธเจฎเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจนเฉˆ GeneralizedTime, เจ—เจฒเจค เจกเฉ€เจ•เฉ‹เจก เจ…เจคเฉ‡ เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเจพ.

เจธเจพเจกเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš, เจธเจชเฉ‡เจธ เจฌเจšเจพเจ‰เจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ…เจ•เจธเจฐ เจธเจฟเจฐเจซเจผ เจซเจพเจˆเจฒ เจชเจพเจฅ, เจ”เจซเจธเฉˆเฉฑเจŸ เจ…เจคเฉ‡ เจฒเฉฐเจฌเจพเจˆ เจจเฉ‚เฉฐ เจ‰เจธ เจตเจธเจคเฉ‚ เจฆเฉ‡ เจฌเจพเจˆเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจœเจฟเจธเจฆเจพ เจ…เจธเฉ€เจ‚ เจนเจตเจพเจฒเจพ เจฆเฉ‡เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ†เจฐเจฌเจฟเจŸเจฐเจฐเฉ€ เจนเจธเจคเจพเจ–เจฐเจฟเจค เจซเจพเจˆเจฒ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡ CMS SignedData ASN.1 เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉ‹เจตเฉ‡เจ—เฉ€:

  0     [1,3,1018]  ContentInfo SEQUENCE
  4     [1,1,   9]   . contentType: ContentType OBJECT IDENTIFIER 1.2.840.113549.1.7.2 (id_signedData)
 19-4   [0,0,1003]   . content: [0] EXPLICIT [UNIV 16] ANY
 19     [1,3, 999]   . . DEFINED BY id_signedData: SignedData SEQUENCE
 23     [1,1,   1]   . . . version: CMSVersion INTEGER v3 (03)
 26     [1,1,  19]   . . . digestAlgorithms: DigestAlgorithmIdentifiers SET OF
                           [...]
 47     [1,3, 769]   . . . encapContentInfo: EncapsulatedContentInfo SEQUENCE
 51     [1,1,   8]   . . . . eContentType: ContentType OBJECT IDENTIFIER 1.3.6.1.5.5.7.12.2 (id_cct_PKIData)
 65-4   [1,3, 751]   . . . . eContent: [0] EXPLICIT OCTET STRING 751 bytes OPTIONAL

                 ะขะฃะข ะกะžะ”ะ•ะ ะ–ะ˜ะœะžะ• ะŸะžะ”ะŸะ˜ะกะซะ’ะะ•ะœะžะ“ะž ะคะะ™ะ›ะ ะ ะะ—ะœะ•ะ ะžะœ 751 ะฑะฐะนั‚

820     [1,2, 199]   . . . signerInfos: SignerInfos SET OF
823     [1,2, 196]   . . . . 0: SignerInfo SEQUENCE
826     [1,1,   1]   . . . . . version: CMSVersion INTEGER v3 (03)
829     [0,0,  22]   . . . . . sid: SignerIdentifier CHOICE subjectKeyIdentifier
                               [...]
956     [1,1,  64]   . . . . . signature: SignatureValue OCTET STRING 64 bytes
                     . . . . . . C1:B3:88:BA:F8:92:1C:E6:3E:41:9B:E0:D3:E9:AF:D8
                     . . . . . . 47:4A:8A:9D:94:5D:56:6B:F0:C1:20:38:D2:72:22:12
                     . . . . . . 9F:76:46:F6:51:5F:9A:8D:BF:D7:A6:9B:FD:C5:DA:D2
                     . . . . . . F3:6B:00:14:A4:9D:D7:B5:E1:A6:86:44:86:A7:E8:C9

เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ”เจซเจธเฉˆเฉฑเจŸ 65 เจฌเจพเจˆเจŸเจธ, 751 เจฌเจพเจˆเจŸ เจฒเฉฐเจฌเฉ‡ 'เจคเฉ‡ เจ…เจธเจฒ เจนเจธเจคเจพเจ–เจฐเจฟเจค เจซเจพเจˆเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค pyasn1 เจ‡เจธ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจกเฉ€เจ•เฉ‹เจก เจ•เฉ€เจคเฉ‡ เจ†เจฌเจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ…เจ–เฉŒเจคเฉ€ TLVSeeker เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€ - เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจŸเฉˆเจ—เจธ เจ…เจคเฉ‡ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจฆเฉ‡ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ "เจ…เจ—เจฒเฉ‡ เจŸเฉˆเจ— 'เจคเฉ‡ เจœเจพเจ“", "เจŸเฉˆเจ— เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจœเจพเจ“" (SEQUENCE เจตเจธเจคเฉ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจœเจพเจ“), "เจ…เจ—เจฒเฉ‡ เจŸเฉˆเจ— 'เจคเฉ‡ เจœเจพเจ“", "เจ†เจชเจฃเฉ‡ เจ†เจซเจธเฉˆเฉฑเจŸ เจ…เจคเฉ‡ เจตเจธเจคเฉ‚ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจฆเฉฑเจธเฉ‹ เจœเจฟเฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจนเจพเจ‚เฅค" เจ‡เจน ASN.1 DER-เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเจก เจกเฉ‡เจŸเจพ เจฆเฉเจ†เจฐเจพ "เจฎเฉˆเจจเฉเจ…เจฒ" เจตเจพเจ• เจธเฉ€เฅค เจชเจฐ เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ BER-เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเจก เจกเฉ‡เจŸเจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจ…เจธเฉฐเจญเจต เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, OCTET STRING เจฌเจพเจˆเจŸ เจธเจคเจฐ เจจเฉ‚เฉฐ เจ•เจˆ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจธเจพเจกเฉ‡ pyasn1 เจ•เจพเจฐเจœเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจกเฉ€เจ•เฉ‹เจก เจ•เฉ€เจคเฉ€เจ†เจ‚ เจตเจธเจคเฉ‚เจ†เจ‚ เจคเฉ‹เจ‚ เจ‡เจน เจธเจฎเจเจฃ เจตเจฟเฉฑเจš เจ…เจธเจฎเจฐเฉฑเจฅเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจ‡เฉฑเจ• เจฆเจฟเฉฑเจคเจพ เจ–เฉ‡เจคเจฐ SEQUENCE เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจธเฉ€ เจœเจพเจ‚ เจจเจนเฉ€เจ‚เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš Smth OPTIONAL เจซเฉ€เจฒเจก เจฆเจพ เจ‡เฉฑเจ• เจซเฉ€เจฒเจก เจ•เฉเจฐเจฎ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจกเฉ‡เจŸเจพ (เจตเจฟเจ•เจฒเจชเจฟเจ•) เจคเฉ‹เจ‚ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ—เฉˆเจฐเจนเจพเจœเจผเจฐ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจพเจ‚ เจ‡เจน เจฎเฉŒเจœเฉ‚เจฆ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจœเจผเฉ€เจฐเฉ‹ เจฒเฉฐเจฌเจพเจˆ (เจ–เจพเจฒเฉ€ เจธเฉ‚เจšเฉ€) เจฆเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ. เจ…เจคเฉ‡ เจ‡เจน เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจตเฉˆเจงเจคเจพ เจฆเฉ€ เจธเจ–เจค เจคเจธเจฆเฉ€เจ• เจฒเจˆ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ. เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ‹ เจ•เจฟ เจ•เฉเจ เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจฃ เจ…เจฅเจพเจฐเจŸเฉ€ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เจฐเฉ‡เจ—เฉ€ เจœเฉ‹ ASN.1 เจธเจ•เฉ€เจฎเจพเจ‚ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚ "เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจนเฉ€เจ‚" เจตเฉˆเจง เจนเฉˆ! เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจฃ เจ…เจฅเจพเจฐเจŸเฉ€ โ€œTรœRKTRUST Elektronik Sertifika Hizmet SaฤŸlayฤฑcฤฑsฤฑโ€ เจจเฉ‡ เจ†เจชเจฃเฉ‡ เจฐเฉ‚เจŸ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจตเจฟเฉฑเจš เจฎเจจเจœเจผเฉ‚เจฐเจธเจผเฉเจฆเจพ เจธเฉ€เจฎเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจพเจฐ เจ•เจฐ เจฒเจฟเจ† เจนเฉˆ RFC 5280 เจตเจฟเจธเจผเฉ‡ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ 'เจคเฉ‡ เจธเฉ€เจฎเจพเจตเจพเจ‚ - เจ‡เจธ เจจเฉ‚เฉฐ เจธเจ•เฉ€เจฎ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ‡เจฎเจพเจจเจฆเจพเจฐเฉ€ เจจเจพเจฒ เจกเฉ€เจ•เฉ‹เจก เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค DER เจ•เฉ‹เจกเฉ‡เจ• เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจœเจฟเจธเจฆเจพ เจฎเฉเฉฑเจฒ DEFAULT เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเฉˆ, เจจเฉ‚เฉฐ เจชเฉเจฐเจธเจพเจฐเจฃ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจเจจเจ•เฉ‹เจก เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ - เจ…เจœเจฟเจนเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจœเฉ€เจตเจจ เจตเจฟเฉฑเจš เจตเจพเจชเจฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ PyDERASN เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‡ เจตเฉ€ เจœเจพเจฃเจฌเฉเฉฑเจ เจ•เฉ‡ เจ…เจœเจฟเจนเฉ‡ เจ…เจตเฉˆเจง (DER เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚) เจตเจฟเจตเจนเจพเจฐ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจนเฉˆเฅค เจชเจฟเฉฑเจ›เฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ.

เจ‡เจ• เจนเฉ‹เจฐ เจธเฉ€เจฎเจพ เจ‡เจน เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฆเฉ€ เจ…เจฏเฉ‹เจ—เจคเจพ เจนเฉˆ เจ•เจฟ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเจš เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจตเจธเจคเฉ‚ เจจเฉ‚เฉฐ เจ•เจฟเจธ เจฐเฉ‚เจช (BER/DER) เจตเจฟเจš เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, CMS เจธเจŸเฉˆเจ‚เจกเจฐเจก เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจธเฉเจจเฉ‡เจนเจพ BER-เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ signedAttrs เจ–เฉ‡เจคเจฐ, เจœเจฟเจธ เจ‰เฉฑเจคเฉ‡ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจฆเจธเจคเจ–เจค เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ, DER เจตเจฟเฉฑเจš เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ DER เจจเจพเจฒ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจ–เฉเจฆ CMS เจฆเฉ€ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจตเจฟเฉฑเจš เจ…เจธเจซเจฒ เจนเฉ‹ เจœเจพเจตเจพเจ‚เจ—เฉ‡; เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ BER เจจเจพเจฒ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจจเจนเฉ€เจ‚ เจชเจคเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ•เจฟ เจธเจพเจˆเจจ เจ•เฉ€เจคเฉ‡ เจเจŸเฉเจฐเจธ เจ•เจฟเจธ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเฉ€เฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, TLVSeeker (เจœเจฟเจธเจฆเจพ pyasn1 เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจเจจเจพเจฒเจพเจ— เจจเจนเฉ€เจ‚ เจนเฉˆ) เจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• เจธเจพเจˆเจจ เจ•เฉ€เจคเฉ‡ เจเจŸเฉเจฐเจธ เจซเฉ€เจฒเจก เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€, เจ…เจคเฉ‡ เจตเฉฑเจ–เจฐเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจธ เจจเฉ‚เฉฐ เจฒเฉœเฉ€เจฌเฉฑเจง เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจฒเฉˆ เจ•เฉ‡, เจ‡เจธเจจเฉ‚เฉฐ DER เจจเจพเจฒ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจซเฉ€เจฒเจก เจฆเฉเจ†เจฐเจพ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ†เจชเจฃเฉ‡ เจ†เจช เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ, เจœเฉ‹ เจ…เจ•เจธเจฐ เจตเจพเจชเจฐเจฆเฉ€ เจนเฉˆ, เจธเจพเจกเฉ‡ เจฒเจˆ เจฌเจนเฉเจค เจซเจพเจ‡เจฆเฉ‡เจฎเฉฐเจฆ เจธเฉ€เฅค ASN.1 เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ–เฉ‡เจคเจฐ เจฐเจนเจฟ เจธเจ•เจฆเฉ‡ เจนเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจจเจฟเจฐเจฆเจฟเจธเจผเจŸ OBJECT IDENTIFIER เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจšเฉเจฃเฉ€ เจ—เจˆ เจธเจ•เฉ€เจฎ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ…เฉฑเจ—เฉ‡ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจตเจฟเฉฑเจš, เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ–เฉ‡เจคเจฐ เจฒเจˆ เจกเฉ€เจ•เฉ‹เจกเจฐ เจจเฉ‚เฉฐ if เจ…เจคเฉ‡ เจซเจฟเจฐ เจ•เจพเจฒ เจ•เจฐเจจเจพเฅค

เจชเจพเจˆเจกเจฐเจพเจธเจจ เจฆเจพ เจ‰เจญเจพเจฐ

เจเจŸเจฒเจธ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจจเจฟเจฏเจฎเจฟเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจชเฉˆเจš เจญเฉ‡เจœเจฆเฉ‡ เจนเจพเจ‚ เจœเจฆเฉ‹เจ‚ เจธเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฎเจฟเจฒเจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจพเจ‚ เจธเจพเจกเฉ‡ เจฆเฉเจ†เจฐเจพ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจฎเฉเจซเจค เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ pyasn1 เจตเจฟเฉฑเจš เจ•เจˆ เจตเจพเจฐ เจธเฉเจงเจพเจฐ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡, เจชเจฐ pyasn1 เจฆเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจธเจญ เจคเฉ‹เจ‚ เจ†เจธเจพเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจˆ เจตเจพเจฐ เจ…เจธเฉฐเจ—เจค API เจฌเจฆเจฒเจพเจ… เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจœเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจฎเจพเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจจเจพเจฒ เจนเฉ€, เจ…เจธเฉ€เจ‚ เจœเจจเจฐเฉ‡เจŸเจฟเจต เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจจเจพเจฒ เจŸเฉˆเจธเจŸ เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจ†เจฆเฉ€ เจนเจพเจ‚, เจœเฉ‹ เจ•เจฟ pyasn1 เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจธเฉ€เฅค

เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจฆเจฟเจจ เจฎเฉˆเจ‚ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจ•เจฟ เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจ‡เจน เจ•เจพเจซเจผเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจธเจฎเจพเจ‚ เจ† เจ—เจฟเจ† เจธเฉ€ เจ•เจฟ เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ __เจธเจฒเจพเจŸ__เจธ, เจ†เจซเจธเฉˆเจŸเจพเจ‚ เจ…เจคเฉ‡ เจธเฉเฉฐเจฆเจฐเจคเจพ เจจเจพเจฒ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจฌเจฒเฉŒเจฌเจธ เจจเจพเจฒ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจพเจ‚! เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• ASN.1 เจ•เฉ‹เจกเฉ‡เจ• เจฌเจฃเจพเจ‰เจฃเจพ เจ•เจพเจซเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ - เจธเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจธเจพเจฐเฉ‡ เจจเจฟเจฐเจญเจฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ เจฒเฉฑเจ–เจพเจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจนเจจ เจœเฉ‹ ASN.1 เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจจเจพเจฒ เจญเจฐเจชเฉ‚เจฐ เจนเจจเฅค เจ…เจฐเจฅเจพเจค, เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจฒเฉ‹เฉœเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ•: เจฎเฉŒเจœเฉ‚เจฆเจพ pyasn1 เจ•เฉ‹เจก เจฆเฉ‡ เจ…เจจเฉเจตเจพเจฆ เจฆเฉ€ เจธเฉŒเจ–เฅค เจ†เจชเจฃเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจ›เฉเฉฑเจŸเฉ€เจ†เจ‚ เจฌเจฟเจคเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฎเฉˆเจ‚ เจ‡เจธ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฟเจ† เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ‡เจธ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐ เจฆเจฟเฉฑเจคเฉ‡เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจ•เฉ‹เจฒ เจŸเฉˆเจธเจŸเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจฒเจ—เจญเจ— 100% เจ•เจตเจฐเฉ‡เจœ เจนเฉˆ, เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจšเจพเจฒเฉ‚ เจธเฉ€เฅค

PyDERASN, เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚, เจฒเจ—เจญเจ— 100% เจŸเฉˆเจธเจŸ เจ•เจตเจฐเฉ‡เจœ เจนเฉˆเฅค เจ‡เฉฑเจ• เจฎเจนเจพเจจ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจœเจจเจฐเฉ‡เจŸเจฟเจต เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจงเจพเจฐเจจเจพ. เจ‡เจน เจตเฉ€ เจ•เจฐเจตเจพเจ‡เจ† เจ—เจฟเจ† เจงเฉเฉฐเจฆเจฒเจพ py-afl- เจฎเฉˆเจ‚ 32 เจชเฉเจฐเจฎเจพเจฃเฉ‚ เจฎเจธเจผเฉ€เจจเจพเจ‚ 'เจคเฉ‡ เจ–เจพเจ‚เจฆเจพ เจนเจพเจ‚. เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ…เจฎเจฒเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉ‹เจˆ Python2 เจ•เฉ‹เจก เจจเจนเฉ€เจ‚ เจฌเจšเจฟเจ† เจนเฉˆ, PyDERASN เจ…เจœเฉ‡ เจตเฉ€ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจจเฉ‚เฉฐ เจ•เจพเจ‡เจฎ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ•เจพเจฐเจจ เจธเจฟเจฐเจซ เจ›เฉ‡ เจจเจธเจผเจพ เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจธเจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจŸเฉˆเจธเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ ASN.1:2008 เจชเจพเจฒเจฃเจพ เจŸเฉˆเจธเจŸ เจธเฉ‚เจŸ.

เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเจพ เจธเจฟเจงเจพเจ‚เจค pyasn1 เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆ - เจ‰เฉฑเจš-เจชเฉฑเจงเจฐเฉ€ เจชเจพเจˆเจฅเจจ เจตเจธเจคเฉ‚เจ†เจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพเฅค ASN.1 เจธเจ•เฉ€เจฎเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจธเจฎเจพเจจ เจนเฉˆเฅค

class TBSCertificate(Sequence):
    schema = (
        ("version", Version(expl=tag_ctxc(0), default="v1")),
        ("serialNumber", CertificateSerialNumber()),
        ("signature", AlgorithmIdentifier()),
        ("issuer", Name()),
        ("validity", Validity()),
        ("subject", Name()),
        ("subjectPublicKeyInfo", SubjectPublicKeyInfo()),
        ("issuerUniqueID", UniqueIdentifier(impl=tag_ctxp(1), optional=True)),
        ("subjectUniqueID", UniqueIdentifier(impl=tag_ctxp(2), optional=True)),
        ("extensions", Extensions(expl=tag_ctxc(3), optional=True)),
    )

เจนเจพเจฒเจพเจ‚เจ•เจฟ, PyDERASN เจตเจฟเฉฑเจš เจฎเจœเจผเจฌเฉ‚เจค โ€‹โ€‹เจŸเจพเจˆเจชเจฟเฉฐเจ— เจฆเฉ€ เจ•เฉเจ เจเจฒเจ• เจนเฉˆเฅค pyasn1 เจตเจฟเฉฑเจš, เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจซเฉ€เจฒเจก CMSVersion(INTEGER) เจ•เจฟเจธเจฎ เจฆเจพ เจธเฉ€, เจคเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ int เจœเจพเจ‚ INTEGER เจฆเจฟเฉฑเจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค PyDERASN เจจเฉ‚เฉฐ เจธเจ–เจคเฉ€ เจจเจพเจฒ เจ‡เจน เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจจเจฟเจฐเจงเจพเจฐเจค เจ†เจฌเจœเฉˆเจ•เจŸ เจฌเจฟเจฒเจ•เฉเจฒ CMSVersion เจนเฉ‹เจตเฉ‡เฅค Python3 เจ•เฉ‹เจก เจฒเจฟเจ–เจฃ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจตเฉ€ เจตเจฐเจคเจฆเฉ‡ เจนเจพเจ‚ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ, เจ‡เจธ เจฒเจˆ เจธเจพเจกเฉ‡ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจธเจชเจธเจผเจŸ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจจเจนเฉ€เจ‚ เจนเฉ‹เจฃเจ—เฉ‡ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ def func(เจธเฉ€เจฐเฉ€เจ…เจฒ, เจธเจฎเฉฑเจ—เจฐเฉ€), เจชเจฐ def func(เจธเฉ€เจฐเฉ€เจ…เจฒ: CertificateSerialNumber, เจธเจฎเฉฑเจ—เจฐเฉ€: EncapsulatedContentInfo), เจ…เจคเฉ‡ PyDERASN เจ…เจœเจฟเจนเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฌเจฃเจพเจˆ เจฐเฉฑเจ–เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจนเฉ€, PyDERASN เจ•เฉ‹เจฒ เจ‡เจธ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจฒเจˆ เจฌเจนเฉเจค เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจฐเจฟเจ†เจ‡เจคเจพเจ‚ เจนเจจเฅค pyasn1 เจจเฉ‡ SubjectKeyIdentifier().subtype(implicitTag=Tag(...)) เจซเฉ€เจฒเจก เจจเฉ‚เฉฐ SubjectKeyIdentifier() (เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ IMPLICIT TAG เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚) เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ…เจคเฉ‡ เจ‡เจธ เจฒเจˆ เจ…เจ•เจธเจฐ เจ†เจฌเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจ•เจพเจชเฉ€ เจ…เจคเฉ‡ เจฎเฉเฉœ เจฌเจฃเจพเจ‰เจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€ เจฌเจฆเจฒเฉ‡ เจ—เจ IMPLICIT/EXPLICIT เจŸเฉˆเจ—เจธเฅค PyDERASN เจธเจ–เจคเฉ€ เจจเจพเจฒ เจธเจฟเจฐเจซ เจ…เจงเจพเจฐ เจ•เจฟเจธเจฎ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจฆเจพ เจนเฉˆ - เจ‡เจน เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ€ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจฎเฉŒเจœเฉ‚เจฆ ASN.1 เจธเจ•เฉ€เจฎเจพ เจคเฉ‹เจ‚ เจŸเฉˆเจ—เจธ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค เจ‡เจน เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจœเฉ‡เจ•เจฐ เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ— เจฆเฉŒเจฐเจพเจจ เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ pyasn1 เจตเจฟเฉฑเจš เจ‡เจน เจธเจฎเจเจฃเจพ เจ†เจธเจพเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ•เจฟเฉฑเจฅเฉ‡ เจ†เจˆ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจ—เจ เจคเฉเจฐเจ•เฉ€ เจชเฉเจฐเจฎเจพเจฃ-เจชเฉฑเจคเจฐ เจตเจฟเฉฑเจš, เจธเจพเจจเฉ‚เฉฐ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€ เจ—เจฒเจคเฉ€ เจฎเจฟเจฒเฉ‡เจ—เฉ€: UTF8String (tbsCertificate:issuer:rdnSequence:3:0:value:DEFINED BY 2.5.4.10:utf8String) (138 'เจคเฉ‡) เจ…เจธเฉฐเจคเฉเจธเจผเจŸ เจธเฉ€เจฎเจพ: 1 โ‡ 77 โ‡ 64 ASN .1 เจขเจพเจ‚เจšเจพ เจฒเจฟเจ–เจฃ เจตเฉ‡เจฒเฉ‡ เจฒเฉ‹เจ• เจ—เจฒเจคเฉ€เจ†เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจ‡เจธ เจจเจพเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐเจจเจพ เจœเจพเจ‚ เจฆเฉ‚เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจ•เฉ‹เจก เจ•เฉ€เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃเจพ เจ†เจธเจพเจจ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

PyDERASN เจฆเจพ เจชเจนเจฟเจฒเจพ เจธเฉฐเจธเจ•เจฐเจฃ BER เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจธเฉ€เฅค เจ‡เจน เจฌเจนเฉเจค เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจ‡เจ† เจนเฉˆ เจ…เจคเฉ‡ เจ…เจœเฉ‡ เจตเฉ€ เจธเจฎเจพเจ‚ เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ UTCTtime/GeneralizedTime เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ†เจตเฉ‡เจ—เจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉ‡เจฐเฉ‡ เจ–เจพเจฒเฉ€ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ.

เจจเจพเจฒ เจนเฉ€, เจชเจนเจฟเจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ–เฉ‡เจคเจฐเจพเจ‚ เจจเจพเจฒ เจ•เฉ‹เจˆ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ•เฉเจ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจฌเจพเจ…เจฆ เจฎเฉŒเจ•เจพ เจชเฉˆเจฆเจพ เจนเฉ‹เจ‡เจ† เจ…เจคเฉ‡ เจธเจฐเจ—เจฐเจฎเฉ€ เจจเจพเจฒ เจตเจฐเจคเฉ‡ เจœเจพเจฃเฉ‡ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจ—เจ, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ˜เจŸเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹เจ - เจ‡เฉฑเจ• เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ— เจ“เจชเจฐเฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจกเฉ‚เฉฐเจ˜เจพเจˆ เจคเฉฑเจ• เจชเฉ‚เจฐเฉ€ เจฌเจฃเจคเจฐ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจธเฉ€เฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจธเจ•เฉ€เจฎเจพ เจฆเฉฑเจธเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ‡ เจ–เฉ‡เจคเจฐ เจ•เฉ€ "เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค" เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, CMS เจธเจ•เฉ€เจฎ เจฆเจพ เจตเฉ‡เจฐเจตเจพ:

class ContentInfo(Sequence):
    schema = (
        ("contentType", ContentType(defines=((("content",), {
            id_authenticatedData: AuthenticatedData(),
            id_digestedData: DigestedData(),
            id_encryptedData: EncryptedData(),
            id_envelopedData: EnvelopedData(),
            id_signedData: SignedData(),
        }),))),
        ("content", Any(expl=tag_ctxc(0))),
    )

เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจœเฉ‡เจ•เจฐ contentType เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฒ id_signedData เจจเจพเจฒ เจ‡เฉฑเจ• OID เจนเฉˆ, เจคเจพเจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€ เจ–เฉ‡เจคเจฐ (เจ‰เจธเฉ‡ SEQUENCE เจตเจฟเฉฑเจš เจธเจฅเจฟเจค) เจจเฉ‚เฉฐ SignedData เจธเจ•เฉ€เจฎ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจกเฉ€เจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เฉฐเจจเฉ‡ เจธเจพเจฐเฉ‡ เจฌเจฐเฉˆเจ•เจŸ เจ•เจฟเจ‰เจ‚ เจนเจจ? เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจ•เจˆ เจ–เฉ‡เจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ "เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค" เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ EnvelopedData เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ…เจ–เฉŒเจคเฉ€ เจกเฉ€เจ•เฉ‹เจก เจฎเจพเจฐเจ— เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ - เจ‡เจน เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเจฃเจคเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเฉฑเจค เจฆเฉ€ เจธเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค

เจคเฉเจธเฉ€เจ‚ เจนเจฎเฉ‡เจธเจผเจพ เจ‡เจนเจจเจพเจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจกเจพเจ‡เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจคเฉเจฐเฉฐเจค เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเจพ เจฎเฉŒเจ•เจพ เจจเจนเฉ€เจ‚ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจœเจพเจ‚ เจจเจนเฉ€เจ‚ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹เฅค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ-เจตเจฟเจธเจผเฉ‡เจธเจผ เจ•เฉ‡เจธ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจ เจœเจฆเฉ‹เจ‚ OIDs เจ…เจคเฉ‡ เจฌเจฃเจคเจฐ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจœเจพเจฃเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค PyDERASN เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจจ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เจนเจจเจพเจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ:

ContentInfo().decode(data, ctx={"defines_by_path": ((
    (
        "content", DecodePathDefBy(id_signedData),
        "certificates", any, "certificate", "tbsCertificate",
        "extensions", any, "extnID",
    ),
    ((("extnValue",), {
        id_ce_authorityKeyIdentifier: AuthorityKeyIdentifier(),
        id_ce_basicConstraints: BasicConstraints(),
        [...]
        id_ru_subjectSignTool: SubjectSignTool(),
    }),),
),)})

เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจธเจพเจฐเฉ‡ เจจเฉฑเจฅเฉ€ เจ•เฉ€เจคเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฒเจˆ CMS SignedData เจตเจฟเฉฑเจš, เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจเจพเจ‚ (AuthorityKeyIdentifier, Basic Constraints, SubjectSignTool, เจ†เจฆเจฟ) เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเฉ‹เฅค เจ…เจธเฉ€เจ‚ เจกเฉ€เจ•เฉ‹เจก เจฎเจพเจฐเจ— เจฐเจพเจนเฉ€เจ‚ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ•เจฟเจธ เจคเฉฑเจค เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจจเจพเจฒ "เจฌเจฆเจฒเจฟเจ†" เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจ…เฉฐเจค เจตเจฟเฉฑเจš, PyDERASN เจ•เฉ‹เจฒ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจนเฉˆ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ ASN.1 เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ— เจ•เจฐเจจ เจฒเจˆ เจ…เจคเฉ‡ เจ…เจฎเฉ€เจฐ เจนเฉˆ เจธเฉเฉฐเจฆเจฐ เจ›เจชเจพเจˆ. เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ†เจฐเจฌเจฟเจŸเจฐเฉ‡เจฐเฉ€ ASN.1 เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจธเจ•เฉ€เจฎ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉเจ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹:

เจชเจพเจˆเจกเจฐเจพเจธเจจ: เจฎเฉˆเจ‚ เจธเจฒเจพเจŸ เจ…เจคเฉ‡ เจฌเจฒเฉŒเจฌเจธ เจจเจพเจฒ เจ‡เฉฑเจ• ASN.1 เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจฟเจ–เฉ€

เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจœเจพเจฃเจ•เจพเจฐเฉ€: เจ†เจฌเจœเฉˆเจ•เจŸ เจ†เจซเจธเฉˆเฉฑเจŸ, เจŸเฉˆเจ— เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ, เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ, เจธเจฎเจ—เจฐเฉ€ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ, EOC เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ (เจเจ‚เจก-เจ†เจซ-เจ“เจ•เจŸเฉˆเจŸ), BER เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ, เจ…เจจเจฟเจธเจผเจšเจฟเจค-เจฒเฉฐเจฌเจพเจˆ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ, EXPLICIT เจŸเฉˆเจ— เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจ…เจคเฉ‡ เจ†เจซเจธเฉˆเฉฑเจŸ (เจœเฉ‡ เจ•เฉ‹เจˆ เจนเฉˆ), เจฆเฉ€ เจจเฉ‡เจธเจŸเจฟเฉฐเจ— เจกเฉ‚เฉฐเจ˜เจพเจˆ เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจตเจธเจคเฉ‚, IMPLICIT/EXPLICIT เจŸเฉˆเจ— เจฎเฉเฉฑเจฒ, เจธเจ•เฉ€เจฎ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจตเจธเจคเฉ‚ เจฆเจพ เจจเจพเจฎ, เจ‡เจธเจฆเจพ เจ…เจงเจพเจฐ ASN.1 เจ•เจฟเจธเจฎ, SEQUENCE/SET OF เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ•เฉเจฐเจฎ เจธเฉฐเจ–เจฟเจ†, เจšเฉ‹เจฃ เจฎเฉเฉฑเจฒ (เจœเฉ‡ เจ•เฉ‹เจˆ เจนเฉˆ), เจฎเจจเฉเฉฑเจ–เฉ€-เจชเฉœเฉเจนเจจเจฏเฉ‹เจ— เจจเจพเจฎ เจชเฉ‚เจฐเจจ/เจ…เฉฐเจ•เจฟเจค/เจฌเจฟเฉฑเจŸ เจธเจŸเฉเจฐเจฟเฉฐเจ— เจธเจ•เฉ€เจฎ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ…เจงเจพเจฐ เจ•เจฟเจธเจฎ เจฆเจพ เจฎเฉเฉฑเจฒ, เจธเจ•เฉ€เจฎ เจคเฉ‹เจ‚ เจกเจฟเจซเจพเจฒเจŸ/เจตเจฟเจ•เจฒเจชเจฟเจ• เจซเจฒเฉˆเจ—, เจ‡เจธ เจ—เฉฑเจฒ เจฆเจพ เจธเฉฐเจ•เฉ‡เจค เจนเฉˆ เจ•เจฟ เจ†เจฌเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจฒเจฟเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจฆเฉเจ†เจฐเจพ เจกเฉ€เจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ เจœเจฟเจธ OID เจ•เจพเจฐเจจ เจ…เจœเจฟเจนเจพ เจนเฉ‹เจ‡เจ†, เจฎเจจเฉเฉฑเจ–เฉ€-เจชเฉœเฉเจนเจจเจฏเฉ‹เจ— OIDเฅค

เจธเฉเฉฐเจฆเจฐ เจชเฉเจฐเจฟเฉฐเจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจน PP เจตเจธเจคเฉ‚เจ†เจ‚ เจฆเจพ เจ‡เฉฑเจ• เจ•เฉเจฐเจฎ เจคเจฟเจ†เจฐ เจ•เจฐเฉ‡ เจœเฉ‹ เจตเฉฑเจ–เจฐเฉ‡ เจŸเฉ‚เจฒเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจธเจ•เฉเจฐเฉ€เจจเจธเจผเจพเจŸ เจฐเฉˆเจ‚เจกเจฐเจฐ เจจเฉ‚เฉฐ เจธเจงเจพเจฐเจจ เจฐเฉฐเจ—เจฆเจพเจฐ เจŸเฉˆเจ•เจธเจŸ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค JSON/HTML เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจฐเฉˆเจ‚เจกเจฐเจฐ เจตเฉ€ เจนเจจ, เจคเจพเจ‚ เจœเฉ‹ เจ‡เจธเจจเฉ‚เฉฐ ASN.1 เจฌเฉเจฐเจพเจŠเจœเจผเจฐ เจตเจฟเฉฑเจš เจนเจพเจˆเจฒเจพเจˆเจŸ เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เฉ‡, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจตเจฟเฉฑเจš asn1js เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ.

เจนเฉ‹เจฐ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚

เจ‡เจน เจŸเฉ€เจšเจพ เจจเจนเฉ€เจ‚ เจธเฉ€, เจชเจฐ PyDERASN เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจฟเจ•เจฒเจฟเจ† เจนเฉ‹เจฐ เจคเฉ‡เจœเจผ pyasn1 เจจเจพเจฒเฉ‹เจ‚เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฎเฉˆเจ—เจพเจฌเจพเจˆเจŸ เจ†เจ•เจพเจฐ เจฆเฉ€เจ†เจ‚ CRL เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ‡เฉฐเจจเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ— เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจฟเจšเจ•เจพเจฐเจฒเฉ‡ เจกเฉ‡เจŸเจพ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ (เจคเฉ‡เจœเจผ) เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฃเจพ เจชเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ เจชเจตเฉ‡เจ—เจพเฅค pyasn1 CRL เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก เจ•เจฐเจฆเจพ เจนเฉˆ CACert.org เจฎเฉ‡เจฐเฉ‡ เจฒเฉˆเจชเจŸเจพเจช 'เจคเฉ‡ 20 เจฎเจฟเฉฐเจŸ เจฒเฉฑเจ—เจฆเฉ‡ เจนเจจ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ PyDERASN เจธเจฟเจฐเจซ 28 เจธเจ•เจฟเฉฐเจŸ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ! เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจนเฉˆ asn1crypto, เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ: เจ‡เจน 29 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ‰เจธเฉ‡ CRL เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉ‹เจก (เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚, เจ†เจฒเจธ เจจเจพเจฒ เจจเจนเฉ€เจ‚) เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ Python3 (983 MiB เจฌเจจเจพเจฎ 498) เจฆเฉ‡ เจ…เจงเฉ€เจจ เจšเฉฑเจฒเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจ—เจญเจ— เจฆเฉเฉฑเจ—เจฃเฉ€ เจฐเฉˆเจฎ เจฆเฉ€ เจ–เจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ Python3.5 (2) เจฆเฉ‡ เจ…เจงเฉ€เจจ 1677 เจ—เฉเจฃเจพ เจตเจฟเฉฑเจšเฅค เจฌเจจเจพเจฎ 488), เจœเจฆเฉ‹เจ‚ เจ•เจฟ pyasn1 4.3 เจ—เฉเจฃเจพ เจœเจผเจฟเจ†เจฆเจพ เจ–เจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ (2093 เจฌเจจเจพเจฎ 488)เฅค

เจ…เจธเฉ€เจ‚ asn1crypto 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ, เจœเจฟเจธเจฆเจพ เจฎเฉˆเจ‚ เจœเจผเจฟเจ•เจฐ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ…เจœเฉ‡ เจตเฉ€ เจ†เจชเจฃเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ…เจตเจธเจฅเจพ เจตเจฟเฉฑเจš เจธเฉ€ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจจเจนเฉ€เจ‚ เจธเฉเจฃเจฟเจ† เจธเฉ€เฅค เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจ‰เจธเจฆเฉ€ เจฆเจฟเจธเจผเจพ เจตเฉฑเจฒ เจตเฉ€ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจคเฉเจฐเฉฐเจค เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจ•เจฟ เจ‰เจนเฉ€ เจœเจจเจฐเจฒเจพเจˆเจœเจผเจก เจŸเจพเจˆเจฎ เจ‡เฉฑเจ• เจฎเจจเจฎเจพเจจเฉ€ เจฐเฉ‚เจช เจจเจนเฉ€เจ‚ เจฒเฉˆเจ‚เจฆเจพ, เจ…เจคเฉ‡ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฆเฉŒเจฐเจพเจจ เจ‡เจน เจšเฉเฉฑเจชเจšเจพเจช เจ‡เฉฑเจ• เจธเจ•เจฟเฉฐเจŸ เจฆเฉ‡ เจ‡เฉฑเจ• เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน X.509 เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจธเจตเฉ€เจ•เจพเจฐเจฏเฉ‹เจ— เจนเฉˆ, เจชเจฐ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจน เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ‡เจธ เจธเจฎเฉ‡เจ‚, PyDERASN เจธเจญ เจคเฉ‹เจ‚ เจธเจ–เจค เจฎเฉเจซเจค Python/Go DER เจกเฉ€เจ•เฉ‹เจกเจฐ เจนเฉˆ เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจฎเฉˆเจ‚ เจœเจพเจฃเจฆเจพ เจนเจพเจ‚เฅค เจฎเฉ‡เจฐเฉ‡ เจชเจฟเจ†เจฐเฉ‡ เจ—เฉ‹ เจฆเฉ€ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ—/asn1 เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจฟเฉฑเจš เจธเจ–เจค เจœเจพเจ‚เจš เจจเจนเฉ€เจ‚ เจตเจธเจคเฉ‚ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจ…เจคเฉ‡ UTCTtime/GeneralizedTime เจธเจคเจฐเฅค เจ•เจˆ เจตเจพเจฐ เจธเจ–เจผเจคเฉ€ เจฐเจพเจน เจตเจฟเฉฑเจš เจ† เจธเจ•เจฆเฉ€ เจนเฉˆ (เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ เจชเฉเจฐเจพเจฃเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจชเจฟเจ›เฉœเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฆเฉ‡ เจ•เจพเจฐเจจ เจœเจฟเจธ เจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจตเฉ€ เจ เฉ€เจ• เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ), เจ‡เจธเจฒเจˆ PyDERASN เจชเจพเจธ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเฉˆเจŸเจฟเฉฐเจ— เจ•เจฎเจœเจผเฉ‹เจฐ เจœเจพเจ‚เจš

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจธเจงเจพเจฐเจจ เจนเฉ‹เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจพเจฐเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจนเฉˆเฅค เจ•เฉ‹เจก เจฌเฉ‡เจฒเฉ‹เฉœเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจ…เจคเฉ‡ DRY เจ•เฉ‹เจก เจฆเฉ‡ เจฌเจฟเจจเจพเจ‚, เจธเจฎเจเจฃ เจฆเฉ€ เจธเฉŒเจ– 'เจคเฉ‡ เจœเจผเฉ‹เจฐ เจฆเฉ‡ เจจเจพเจฒ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ‡เจน, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เจฟเจนเจพ เจนเฉˆ, UTCTime/GeneralizedTime เจธเจŸเฉเจฐเจฟเฉฐเจ—เจœเจผ เจฆเฉ‡ เจจเจพเจฒ-เจจเจพเจฒ REAL, RELATIVE OID, EXTERNAL, INSTANCE OF, EMBEDD PDV, CHARACTER STRING เจกเจพเจŸเจพ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€ เจชเฉ‚เจฐเฉ€ BER เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ— เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจนเฉ‹เจฐ เจธเจพเจฐเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจจเจฟเฉฑเจœเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจฌเจฟเฉฐเจฆเฉ‚ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเจพ.

เจฎเฉ‡เจฐเฉ‡ เจธเจพเจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจพเจ‚เจ—, เจœเจฟเจตเฉ‡เจ‚ เจชเจพเจˆเจ—เฉ‹เจธเจŸ, GoGOST, เจเจจ.เจเจจ.เจธเฉ€.เจชเฉ€., GoVPN, PyDERASN เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจนเฉˆ เจฎเฉเจซเจผเจค เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ, เจธเจผเจฐเจคเจพเจ‚ เจ…เจงเฉ€เจจ เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† LGPLv3+, เจ…เจคเฉ‡ เจฎเฉเจซเจผเจค เจกเจพเจŠเจจเจฒเฉ‹เจก เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจนเฉˆเฅค เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจนเจจ เจ‡เฉฑเจฅเฉ‡ เจ…เจคเฉ‡ เจ…เฉฐเจฆเจฐ PyGOST เจŸเฉˆเจธเจŸ.

เจธเจฐเจ—เฉ‡เจˆ เจฎเจพเจคเจตเฉ€เจต, cypherpunk, เจฎเฉˆเจ‚เจฌเจฐ SPO เจซเจพเจŠเจ‚เจกเฉ‡เจธเจผเจจ, เจชเจพเจˆเจฅเจจ/เจ—เฉ‹ เจกเจฟเจตเฉˆเจฒเจชเจฐ, เจฎเฉเฉฑเจ– เจฎเจพเจนเจฐ FSUE "STC "เจเจŸเจฒเจธ".

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹