Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ xml элСктронной подписью ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎ: Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Β«ΠšΡ€ΠΈΠΏΡ‚ΠΎΠΠ ΠœΒ»

Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ xml элСктронной подписью ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎ: Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Β«ΠšΡ€ΠΈΠΏΡ‚ΠΎΠΠ ΠœΒ»

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ excel ΠΈ xml элСктронной подписью: пошаговая инструкция

Π‘Π΅Π· ЭЦП ΠΈΠ»ΠΈ ЭП Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ элСктронный ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². ЀизичСским ΠΈ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ Π»ΠΈΡ†Π°ΠΌ элСктронная подпись позволяСт Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΡ€Π³Π°Π½Π°ΠΌΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ. ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ элСктронныС Β«Π±ΡƒΠΌΠ°Π³ΠΈΒ» ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами.

Π’ΠΈΠ΄Ρ‹ ЭЦП

НазваниС, ΠΏΡ€Π°Π²ΠΈΠ»Π° примСнСния элСктронной подписи Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π°ΠΊΠΎΠ½ΠΎΠΌ β„–63. Богласно Π΅ΠΌΡƒ, сущСствуСт 3 Π²ΠΈΠ΄Π° ЭП:

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π»ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°. Π­Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΠ½, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Π’Π°ΠΊΠΆΠ΅ ΠΊ простым ЭП относят БМБ, содСрТащиС ΠΊΠΎΠ΄Ρ‹ для подтвСрТдСния личности. ΠŸΡ€ΠΎΡΡ‚Π°Ρ ЭЦП Π½Π΅ являСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Π±ΡƒΠΌΠ°ΠΆΠ½ΠΎΠΉ подписи, Π½Π΅ нСсСт ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

ΠŸΡ€ΠΎΡΡ‚Π°Ρ подпись

ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ силу, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС составлСния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠΈ всСми подписантами ЭП. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ личности Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ измСнСния.

УсилСнная нСквалифицированная подпись

НаиболСС «полная» вСрсия. ЯвляСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Π±ΡƒΠΌΠ°ΠΆΠ½ΠΎΠΉ подписи. НаличиС Π΄Π°Π½Π½ΠΎΠΉ ЭП ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ силу Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ².

УсилСнная квалифицированная подпись

ЭП Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅ Π±ΡƒΠΌΠ°ΠΆΠ½ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Π»Π°Ρ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ элСктронная подпись становится популярным ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ инструмСнтом ΠΏΡ€ΠΈ составлСнии Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ². НапримСр, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ участиС Π² госзакупках нСльзя Π±Π΅Π· ЭП.

Π‘ΠΏΡ€Π°Π²ΠΊΠ°! ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для элСктронной подписи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° «ЭП». Π’ поисковиках, Π½Π° сайтах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ староС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «ЭЦП», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ поиск Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± инструмСнтС.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ функционирования ЭП ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ инструмСнты для Π΅Π΅ создания

УсилСнныС ЭП ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ криптографичСского ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Для восстановлСния ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ 2 ΠΊΠ»ΡŽΡ‡Π°: Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π΅ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ. Π₯ранятся Π½Π° Ρ„Π»Π΅ΡˆΠΊΠ΅ ΠΈΠ»ΠΈ Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. ПослС получСния Ρ‚ΠΎΠΊΠ΅Π½Π° слСдуСт ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Для создания ЭП Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ инструмСнты:

  1. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ подписанию, Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅. ПослС создания ЭП Π΅Π³ΠΎ нСльзя Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.
  2. Настройка ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ установкС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ПО.
  3. ΠšΠ»ΡŽΡ‡ ΠΈΠ»ΠΈ сСртификат подписи. ΠŸΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π΅Π³ΠΎ Π² Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.
  4. ΠšΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ для гСнСрирования ЭП. ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Π²Π΅Π±-сСрвисов, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚.

ЭП дСйствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ срок β€” ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 1 Π³ΠΎΠ΄, ΠΏΠΎ ΠΈΡΡ‚Π΅Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ подпись. ПослС создания ЭП Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Если ΠΎΠ½ Π±Ρ‹Π» ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ послС установки элСктронной подписи, Ρ‚ΠΎ всС измСнСния ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ личности подписантов.

Π’Π°ΠΆΠ½ΠΎ: Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π² Π€Π‘Π‘, согласно Π·Π°ΠΊΠΎΠ½Π°ΠΌ Π Π€.

ПО для создания ЭП

Для подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Π½ΠΎΠ΅ ПО, Ρ‚Π°ΠΊ ΠΈ бСсплатноС. НаиболСС популярны ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠšΡ€ΠΈΠΏΡ‚ΠΎΠŸΡ€ΠΎ Office Signature, ΠšΡ€ΠΈΠΏΡ‚ΠΎΠΠ Πœ, ViPNet CryptoFile. Для создания подписи Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Excel ΠΈΠ»ΠΈ Word с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠšΡ€ΠΈΠΏΡ‚ΠΎΠŸΡ€ΠΎ Office Signature ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ шаги:

  • Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠšΡ€ΠΈΠΏΡ‚ΠΎΠŸΡ€ΠΎ CSP вСрсии Π²Ρ‹ΡˆΠ΅ 4.0.
  • Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, для этого Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ инсталлятор ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ установки «Полная».

  • Π’ ΠΊΠΎΠ½Ρ†Π΅ Π½ΡƒΠΆΠ½ΠΎ ввСсти ΠΊΠ»ΡŽΡ‡. Если этого Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ активируСтся Π΄Π΅ΠΌΠΎ вСрсия, рассчитанная Π½Π° 90 Π΄Π½Π΅ΠΉ.

  • Π”Π°Π»Π΅Π΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСтся ЭП. ΠΠ°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΌ Π½Π° ΠΏΡƒΠ½ΠΊΡ‚ Β«Π€Π°ΠΉΠ»Β».
  • Π—Π°Ρ‚Π΅ΠΌ β€” «БвСдСния». Π’ появившСмся мСню ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ строкС Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ подпись (КРИПВО-ПРО)Β».

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ° «ПодписаниС». Π—Π΄Π΅ΡΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ сСртификат, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ».

  • ΠŸΠΎΡΠ²ΡΡ‚ΡΡ доступныС сСртификаты. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ.

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ придСтся ввСсти ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Ρ‚ΠΎΠΊΠ΅Π½Π°, Ссли ΠΎΠ½ Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π» установлСн.

  • Π’ ΠΊΠΎΠ½Ρ†Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΎΠΊΠ½ΠΎ, ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°ΡŽΡ‰Π΅Π΅ ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ создании ЭП.

  • Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Β«Π€Π°ΠΉΠ»Β». Π’Π²Π΅Ρ€Ρ…Ρƒ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ надпись Β«ΠŸΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΒ», ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ЭП. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π·Π½Π°Ρ‡ΠΎΠΊ Π²Π½ΠΈΠ·Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.
  • Π‘ΠΏΡ€Π°Π²Π° отобразится Π²Π»Π°Π΄Π΅Π»Π΅Ρ† ЭП.

ПослС подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ любоС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сдСлаСт ЭЦП Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

Π’Π°ΠΆΠ½ΠΎ! Π‘ 1 января 2019 Π³ΠΎΠ΄Π° элСктронная подпись Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π“ΠžΠ‘Π’ Π  34.10-2012. Волько вСрсии 4.0 ΠΈ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ стандарт.

ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ xml ΠΌΠΎΠΆΠ½ΠΎ распространСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠšΡ€ΠΈΠΏΡ‚ΠΎΠΡ€ΠΌ. Она Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠšΡ€ΠΈΠΏΡ‚ΠΎΠŸΡ€ΠΎ Office Signature, платная. БСсплатная вСрсия дСйствуСт 14 Π΄Π½Π΅ΠΉ. ΠšΡ€ΠΈΠΏΡ‚ΠΎΠΡ€ΠΌ позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

ΠŸΡ€ΠΈ этом для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° создаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ подпись. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΉ Ρ†Π΅Π½Ρ‚Ρ€ для получСния ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Π° сСртификата.

Если ΠšΡ€ΠΈΠΏΡ‚ΠΎΠΡ€ΠΌ Π½Π΅ установлСн, Ρ‚ΠΎ ΠΈΠ½ΡΡ‚Π°Π»Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ:

  • Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.
  • ПослС распаковки Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» TrustedDesktopBundle с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора.

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ установщика. ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всС Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π”Π°Π»Π΅Π΅Β».

  • Π’ ΠΎΠΊΠ½Π΅ с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠΌ соглашСниСм ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Β«ΠΠ°Ρ‡Π°Ρ‚ΡŒΒ».

  • ПослС установки ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ с ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

Если Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ 14 Π΄Π½Π΅ΠΉ Π½Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ смоТСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с сСртификатами ΠΏΠΎ истСчСнии ΠΏΡ€ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°. ПослС приобрСтСния Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠŸΠΎΠΌΠΎΡ‰ΡŒΒ» ΠΏΡƒΠ½ΠΊΡ‚ Β«Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽΒ»

ВвСсти ΠΊΠΎΠ΄, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² письмС, Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ строку.

Для «внСдрСния» ЭЦП Π² xml Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько дСйствий:

  • ΠšΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Β«ΠšΡ€ΠΈΠΏΡ‚ΠΎΠΡ€ΠΌΒ», Π·Π°Ρ‚Π΅ΠΌ Β«ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΒ».

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ мастСр создания ЭЦП, Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Β«Π”Π°Π»Π΅Π΅Β».

  • Π”Π°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡƒ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½Π° ЭЦП.

  • Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Ρ‚ΠΈΠΏΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π§Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ DER, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈ с BASE Если Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‚ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ послС подписания, Ρ‚ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅.

  • Π—Π°Ρ‚Π΅ΠΌ настраиваСтся ЭЦП. УказываСтся интСгрируСтся подпись с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ создаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π° с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ sig.

  • Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сСртификат, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π΅.

  • Π’ послСднСм ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ внСсСнныС измСнСния ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π“ΠΎΡ‚ΠΎΠ²ΠΎΒ». Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.

ВсС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ подписаны. ΠšΡƒΠΏΠΈΡ‚ΡŒ ПО для внСдрСния ЭЦП ΠΌΠΎΠΆΠ½ΠΎ Π² ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π΅. БпСциалисты ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ с установкой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹Π΄Π°Π΄ΡƒΡ‚ сСртификаты.

Python 3. ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ элСктронной подписью Π½Π° сайтС

Вопрос Π·Π°Π΄Π°Π½

Π˜Π·ΠΌΠ΅Π½Ρ‘Π½ 2 мСсяца Π½Π°Π·Π°Π΄

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π½ 733 Ρ€Π°Π·Π°

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚!

На сайтС Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°:

Если Π² ΠΏΠΎΠ»Π΅ «XML запроса» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° xml, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ» страница обращаСтся ΠΊ CAdES Browser Plug-in, запускаСтся Ρ†Π΅Π»Ρ‹ΠΉ Π±ΡƒΠΊΠ΅Ρ‚ js скриптов cpro, происходит подписаниС xml ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° POST запроса.

ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅, поТалуйста, ΠΊΠ°ΠΊ Π½Π° Python 3 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ подписаниС xml ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹? Π‘Π°ΠΌΠΎ подписаниС Π² Π΄Π°Π½Π½ΠΎΠΌ случаС вСдь происходит Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°?

Как я понимаю Π½Π° сСрвСрС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся скрипт Python Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн ΠšΡ€ΠΈΠΏΡ‚ΠΎ ΠΏΡ€ΠΎ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Pycades?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ всСго ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ xml ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΠΆΠ΅ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ просто ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² POST запрос?

ΠšΠ°ΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для подписания подписью, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° ΠšΡ€ΠΈΠΏΡ‚ΠΎ ΠΏΡ€ΠΎ? ΠŸΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π»ΠΈ для этого signxml?

ΠœΠΎΠΆΠ΅Ρ‚ хотя Π±Ρ‹ тСорСтичСски ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρƒ ΠΊΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ?

  • python
  • python-3.x
  • цифровая-подпись

1

signxml — Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с https://pypi.org/project/signxml/ :

from lxml import etree
from signxml import XMLSigner, XMLVerifier
data_to_sign = "<Test/>"
cert = open("example. pem").read()
key = open("example.key").read()
root = etree.fromstring(data_to_sign)
signed_root = XMLSigner().sign(root, key=key, cert=cert)

Он добавляСт Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ xml <Text/> подпись ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся Ρ‚Π°ΠΊΠΎΠΉ xml (ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ сокращСнно):

<Test>
   <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
      <ds:SignedInfo>
         <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2006/12/xml-c14n11" />
         <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
         <ds:Reference URI="">
            <ds:Transforms>
               <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
               <ds:Transform Algorithm="http://www.w3.org/2006/12/xml-c14n11" />
            </ds:Transforms>
            <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
            <ds:DigestValue>KP3ncf09YSgkeTt+i4PR+W0AMvUTo7M8gu0z15piPMc=</ds:DigestValue>
         </ds:Reference>
      </ds:SignedInfo>
      <ds:SignatureValue>Ρ‚ΡƒΡ‚-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ подписи</ds:SignatureValue>
      <ds:KeyInfo>
         <ds:X509Data>
            <ds:X509Certificate>ΠΌΠ½ΠΎΠ³Π°Π±ΡƒΠΊΠ°Ρ„</ds:X509Certificate>
         </ds:X509Data>
      </ds:KeyInfo>
   </ds:Signature>
</Test>

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с signxml Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ (ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) сСртификат ΠΈ ΠΊΠ»ΡŽΡ‡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ signxml, Ссли ΠΎΠ½ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρƒ вас сСйчас. Π― Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ с ΠšΡ€ΠΈΠΏΡ‚ΠΎ ΠΏΡ€ΠΎ, Π½ΠΎ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ хранСния сСртификатов ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

1

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠ»ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅

РСгистрация Ρ‡Π΅Ρ€Π΅Π· Google

РСгистрация Ρ‡Π΅Ρ€Π΅Π· Facebook

РСгистрация Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ‡Ρ‚Ρƒ

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· рСгистрации

ΠŸΠΎΡ‡Ρ‚Π°

НСобходима, Π½ΠΎ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ показываСтся

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· рСгистрации

ΠŸΠΎΡ‡Ρ‚Π°

НСобходима, Π½ΠΎ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ показываСтся

НаТимая Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Β», Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ с нашими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ соглашСниСм, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ ΠΎ ΠΊΡƒΠΊΠΈ

ΠŸΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ XML, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ чистый Javascript Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅

спросил

ИзмСнСно 6 Π»Π΅Ρ‚, 9 мСсяцСв Π½Π°Π·Π°Π΄

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ 4ΠΊ Ρ€Π°Π·

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ чистый JavaScript для подписи XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅?

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ здСсь Π΅ΡΡ‚ΡŒ ТСсткиС ограничСния бСзопасности, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

  • javascript
  • xml
  • цифровая подпись

Π’ΠΎΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° основС Web Crypto — https://github.com/PeculiarVentures/xadesjs

2

Если Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ XmlDSig, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ доступ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ сСртификатов, Ρ‚ΠΎ я боюсь, Ρ‡Ρ‚ΠΎ Π² настоящСС врСмя Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ способа ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Javascript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ³ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ сСртификатов Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ сСртификата .

Π‘ΠΎΡ‚Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠ³ΠΈΠ±Π»ΠΈ Π±Ρ‹ Π·Π° Ρ‚Π°ΠΊΡƒΡŽ β€‹β€‹Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, ΠΎΠ΄Π½Π°ΠΊΠΎ Web Crypto API всС Π΅Ρ‰Π΅ находится Π² стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….

Для подписи Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²Π°ΠΌ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½ΡƒΠΆΠ΅Π½ мост ОБ

  • ΠΏΠ»Π°Π³ΠΈΠ½ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, самый слоТный ΠΏΡƒΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ написаниС ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² для всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… систСм ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ излишним
  • Π°ΠΏΠΏΠ»Π΅Ρ‚ Java β€” учитывая, Ρ‡Ρ‚ΠΎ Chrome Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ отказался ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ NPAPI (API-ΠΏΠ»Π°Π³ΠΈΠ½Π°), это каТСтся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ. Mozzila Ρ‚ΠΎΠΆΠ΅ скоро ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ.
  • ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ClickOnce, запускаСмоС клиСнтской ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ .NET, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ .NET/ClickOnce

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ большС ссылок, Google для «Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° сСртификатов доступа javascript». ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² SO:

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ сСртификатов Windows Π² javascript?

Доступ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ сСртификатов Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° с использованиСм javascript

(эти ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² настоящСС врСмя это , Π° Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ)

Π― ΠΈΡ‰Ρƒ Ρ‚Π°ΠΊΡƒΡŽ ​​ТС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я нашСл https://github.com/yaronn/xml-crypto Π½ΠΎ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π».

Для простой подписи (Π½Π΅ XML) с сСртификатом x509 я ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ использовал https://github.com/digitalbazaar/forge

5

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° подпись Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ спСциализированноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅? НапримСр Ρ‚Π°ΠΊΠΎΠΉ: https://www. cryptopro.ru/products/cades/plugin (Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Google Translate).

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠ»ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² систСму

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Google

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· Facebook

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π³ΠΎΡΡ‚ΡŒ

ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°

ВрСбуСтся, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ отобраТаСтся

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π³ΠΎΡΡ‚ΡŒ

ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°

ВрСбуСтся, Π½ΠΎ Π½Π΅ отобраТаСтся

docs/how-to-sign-xml-documents-with-digital-signatures.

md Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Β· dotnet/docs Β· GitHub
title описаниС мс.Π΄Π°Ρ‚Π° dev_langs helpviewer_keywords мс.Π°ΠΊΡ‚ΠΈΠ²

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ руководство. ПодписаниС XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ XML с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ классы Π² пространствС ΠΈΠΌΠ΅Π½ System.Security.Cryptography.Xml Π² .NET.

14.07.2020

Π§ΡˆΠ°Ρ€ΠΏ

Π²Π±

подписи, подпись XML

Класс System.Security.Cryptography.SignedXml

Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ подписи, XML-подпись

БистСма.Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ.ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ.Класс RSA

Π¦ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ подписи XML

XML-подпись

XML-подпись

99692ac1-d8c9-42d7-b1bf-2737b01037e4

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ классы Π² пространствС ΠΈΠΌΠ΅Π½ xref:System. Security.Cryptography.Xml для подписи XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ части XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью. Π¦ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ подписи XML (XMLDSIG) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ послС ΠΈΡ… подписания. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ стандартС XMLDSIG см. Π² Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΠ° World Wide Web (W3C) Бинтаксис ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° подписи XML.

[!ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•] Код Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ относится ΠΊ Windows.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π² этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ дСмонстрируСт, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ подпись Π½Π° вСсь XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ подпись ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ Π² элСмСнтС < Signature >. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся ΠΊΠ»ΡŽΡ‡ подписи RSA, ΠΊΠ»ΡŽΡ‡ добавляСтся Π² бСзопасный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡ для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠ»ΡŽΡ‡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи XML ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для подписи Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

БвСдСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ подпись XML, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ руководство. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Security.Cryptography.CspParameters ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ имя ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

    [!code-csharpHowToSignXMLDocumentRSA#2] [!code-vbHowToSignXMLDocumentRSA#2]

  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ асиммСтричный ΠΊΠ»ΡŽΡ‡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса xref:System.Security.Cryptography.RSACryptoServiceProvider. ΠšΠ»ΡŽΡ‡ автоматичСски сохраняСтся Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° xref:System.Security.Cryptography.CspParameters конструктору класса xref:System.Security.Cryptography.RSACryptoServiceProvider. Π­Ρ‚ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для подписи XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

    [!code-csharpHowToSignXMLDocumentRSA#3] [!code-vbHowToSignXMLDocumentRSA#3]

  3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Xml.XmlDocument, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ² Ρ„Π°ΠΉΠ» XML с диска. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Xml.XmlDocument содСрТит элСмСнт XML для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

    [!code-csharpHowToSignXMLDocumentRSA#4] [!code-vbHowToSignXMLDocumentRSA#4]

  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Security.Cryptography.Xml.SignedXml ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Xml.XmlDocument.

    [!code-csharpHowToSignXMLDocumentRSA#5] [!code-vbHowToSignXMLDocumentRSA#5]

  5. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡ RSA Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Security.Cryptography.Xml.SignedXml.

    [!code-csharpHowToSignXMLDocumentRSA#6] [!code-vbHowToSignXMLDocumentRSA#6]

  6. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Security.Cryptography.Xml.Reference, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ вСсь Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π·Π°Π΄Π°ΠΉΡ‚Π΅ для свойства xref:System.Security.Cryptography.Xml.Reference.Uri%2A Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 9.0183 «» .

    [!code-csharpHowToSignXMLDocumentRSA#7] [!code-vbHowToSignXMLDocumentRSA#7]

  7. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Security. Cryptography.Xml.XmlDsigEnvelopedSignatureTransform ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ xref:System.Security.Cryptography.Xml.Reference. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ позволяСт Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ XML-Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅ΠΌ ΠΆΠ΅ способом, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ сторона. XML-Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, поэтому этот шаг ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ΅Π½ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

    [!code-csharpHowToSignXMLDocumentRSA#8] [!code-vbHowToSignXMLDocumentRSA#8]

  8. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Security.Cryptography.Xml.Reference ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ xref:System.Security.Cryptography.Xml.SignedXml.

    [!code-csharpHowToSignXMLDocumentRSA#9] [!code-vbHowToSignXMLDocumentRSA#9]

  9. ВычислитС подпись, Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ xref:System.Security.Cryptography.Xml.SignedXml.ComputeSignature%2A.

    [!code-csharpHowToSignXMLDocumentRSA#10] [!code-vbHowToSignXMLDocumentRSA#10]

  10. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ XML-прСдставлСниС подписи (элСмСнт < Signature >) ΠΈ сохранитС Π΅Π³ΠΎ Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System. Xml.XmlElement.

    [!code-csharpHowToSignXMLDocumentRSA#11] [!code-vbHowToSignXMLDocumentRSA#11]

  11. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ элСмСнт Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xref:System.Xml.XmlDocument.

    [!code-csharpHowToSignXMLDocumentRSA#12] [!code-vbHowToSignXMLDocumentRSA#12]

  12. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

    [!code-csharpHowToSignXMLDocumentRSA#13] [!code-vbHowToSignXMLDocumentRSA#13]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ test.xml сущСствуСт Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ скомпилированная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ XML-ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ test.xml ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

 <ΠΊΠΎΡ€Π΅Π½ΡŒ>
    <крСдитная ΠΊΠ°Ρ€Ρ‚Π°>
        <Π½ΠΎΠΌΠ΅Ρ€>19834209
        02.02.2002
    
 

[!code-csharpHowToSignXMLDocumentRSA#1] [!code-vbHowToSignXMLDocumentRSA#1]

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΊΠΎΠ΄Π°

  • Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° .

Об Π°Π²Ρ‚ΠΎΡ€Π΅

alexxlab administrator

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚