Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ²Π΅ΡΡΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΠΏΠΎΡΠΊΠΈ: ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΠΏΡΠΎΡΠ°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ΄Π΅Π»Ρ Ρ ΠΏΡΠΎΡΠ°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ Π²ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ, ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. ΠΠΎΠ΄Π΅Π»Ρ Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ°Π΄Π°Π½ΠΈΠ΅
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ CryptoAPI Π½Π° ΡΠ·ΡΠΊΠ΅ Delphi. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
1. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ (ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ) Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°
2. ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅)
3. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ — ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ.
4. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° (ΡΠΎΡΠΌΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΡΠΌ. Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π) ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΠΊΡΠΏΠΎΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π² ΡΠ°ΠΉΠ».
5. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, ΠΏΡΠΈΡΠ»Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° (Ρ.Π΅. ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ° ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°)
6. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
7. ΠΡΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π² Π°ΡΡ ΠΈΠ² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π»ΡΠ±ΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°. ΠΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ ΠΏΡΠΈ Π·Π°ΡΠΈΡΠ΅ ΡΡΡΠ΄Π΅Π½ΡΠΎΠΌ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
1. ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ PKI
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ PKI (Public Key Infrastructure) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΡΡΠΊΡΡΡΡ, ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°. PKI ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ, Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡΠΌΠΈ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΊΡΡΡΡΠ΅ ΡΠ΅ΡΠΈ. ΠΠΎ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°ΠΌ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ², Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π³ΠΎΠ΄Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡΡΡ Π²ΡΡΠΎΠΊΠΈΠ΅ ΡΠ΅ΠΌΠΏΡ ΡΠΎΡΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ»ΡΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ PKI Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠΈΠΈ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΠ»ΡΠ³ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π±Π°Π½ΠΊΠΈ, Π½ΠΎΡΠ°ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΡΡ, ΡΡΡΠ°Ρ ΠΎΠ²ΡΠ΅ ΠΈ ΡΠΎΡΠ³ΠΎΠ²ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΡ ΠΎΡ ΡΠ°ΠΊΡΠ° Π΅Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
1.1 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ PKI
ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ PKI ΡΠ²Π»ΡΡΡΡΡ:
Β· Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ
Β· Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅Π½ΡΡ
Β· Π Π΅Π΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
Β· ΠΡΡ ΠΈΠ² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
Β· ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ (Π£Π¦) ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ PKI. ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π½ΡΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π² ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΡΡΠΎΡΠΎΠ½, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π² ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π±Π΅Π· ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π΅ΡΠ΅Ρ Π² ΡΠ΅Π±Π΅ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈ Π²ΡΠ΄Π°ΡΠΈ ΡΠ΅Π±Ρ Π½Π°ΡΡΡΠΈΡΠ΅Π»Π΅ΠΌ Π·Π° Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ PKI Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΡ Π»ΠΈΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈΠ·Π½Π°Π²Π°Π΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ Π·Π°ΠΊΠΎΠ½Π½ΡΠΌ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ. Π’Π°ΠΊΠΎΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ»Ρ Π·Π°Π²Π΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π½ΡΡΠ°. Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»Ρ Π½ΠΎΡΠ°ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΡΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ ΡΡΠΎΡΠΎΠ½, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π² ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½ΡΠΌΠΈ.
Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎ Π΄Π²ΡΠΌ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ: Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΠΊΠ»ΡΡΡ. Π£Π¦ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ ΠΈΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π£Π¦ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΠΈΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ Π£Π¦.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π£Π¦:
Β· ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°
Β· ΠΡΠΏΡΡΠΊ (Ρ.Π΅. ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅) ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΡ ΠΈ / ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π£Π¦ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
Β· ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ·Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΈ ΡΠ΅Π΅ΡΡΡΠ° Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
ΠΡΠΏΡΡΠΊΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π£Π¦ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ Π»ΠΈΡΠΎ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ΅, Π²Π»Π°Π΄Π΅Π΅Ρ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΠΊΠ»ΡΡΡ. Π ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ PKI ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠ΅ ΡΠ΅Π½ΡΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΊΠ°ΠΊ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½Π°Ρ ΡΡΠ΅ΡΡΡ ΡΡΠΎΡΠΎΠ½Π°, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠ°Ρ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ².
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅Π½ΡΡ (Π Π¦) ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ PKI. Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ:
Β· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ,
Β· Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ Π£Π¦
Β· ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΎΡΠΈΡΡΡ Π² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ.
Π£Π¦ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΅Π½ΡΡΠ°ΠΌΠΈ. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π Π¦ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°ΠΌ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ. Π Π¦ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠΈ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²ΡΠΏΡΡΠΊΠ΅ ΠΈ Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΠΎ Π Π¦ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΈ Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ .
Π Π΅Π΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² — ΡΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΈ ΡΠΏΠΈΡΠΊΠΈ Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². Π’Π΅ΡΠΌΠΈΠ½ «ΡΠ΅Π΅ΡΡΡ» Π²Π²Π΅Π΄Π΅Π½ Π² ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΠΠ°ΠΊΠΎΠ½ΠΎΠΌ Π Π€ «ΠΠ± ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ». Π Π΅Π΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ², ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΡΠ°ΡΡΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°.
ΠΡΡ ΠΈΠ² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² — ΡΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΠ·Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΡΡ ΠΈΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ² ΠΎ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ»ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ. ΠΠ»Π°Π²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π° — ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ , Ρ. Π΅. ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ PKI Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ: Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΈ Π΄ΠΎΠ²Π΅ΡΡΡΡΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠ»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π»ΠΈΡΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ΅ΡΠ²Π΅Ρ, ΠΈ Ρ. ΠΏ. ΠΠΎΠ²Π΅ΡΡΡΡΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°ΡΡΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΈ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ°Ρ ΠΠ¦Π ΡΠ²ΠΎΠΈΡ ΠΏΠ°ΡΡΠ½Π΅ΡΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π΄ΠΎΠ²Π΅ΡΡΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠ°ΡΡΠ½Π΅ΡΠ°.
1.2 Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π₯.509
Π€ΠΎΡΠΌΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΡ Π₯.509 ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ Π‘ΠΎΡΠ·Π° ΠΏΠΎ ΡΠ΅Π»Π΅ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠΌ (ITU).
Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°
ΠΠ΅ΡΡΠΈΡ | |
Π‘Π΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ | |
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ | |
ΠΠΌΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ (Π£Π¦) | |
ΠΠ΅ΡΠΈΠΎΠ΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ | |
ΠΠΌΡ ΡΡΠ±ΡΠ΅ΠΊΡΠ° (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ) | |
ΠΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΡΡΠ±ΡΠ΅ΠΊΡΠ° | |
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ | |
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠ±ΡΠ΅ΠΊΡΠ° | |
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ | |
ΠΠΎΠ΄ΠΏΠΈΡΡ | |
ΠΠΎΠ΄ ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΡΠΎΡΠΎΠ½Π°, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΠ°Ρ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΠΊΠ»ΡΡΡ.
ΠΠΎΠ»Π΅ ΠΠ΅ΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π₯.509, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΡΠ°Π² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ 3.
ΠΠΎΠ»Π΅ Π‘Π΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, Π²ΡΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π£Π¦. ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΈ ΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ.
ΠΠΎΠ»Π΅ ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ¦Π, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ DSA Ρ SHA-1 ΠΈΠ»ΠΈ RSA Ρ MD5.
ΠΠΎΠ»Π΅ Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠ°Π²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°:
Π‘Π΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ #12 345 678
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ GOST open key
ΠΠΌΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ C=RU, org=ACME
ΠΠ΅ΡΠΈΠΎΠ΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ c 01.01.2000 00:00:00
Π΄ΠΎ 31.12.2003 00:00:00
ΠΠΌΡ ΡΡΠ±ΡΠ΅ΠΊΡΠ° C=RU, org=ACME, cn=UserName
ΠΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΡΡΠ±ΡΠ΅ΠΊΡΠ° 100 111 001 001 000 115 118 192 721 920
ΠΠΎΠ΄ΠΏΠΈΡΡ Π£Π¦ Π°Π»Π³ΠΎΡΠΈΡΠΌ: GOST P34.10−94 sign algoritm
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: 10 011 110 100 100 100 128 768
1.3 ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° PKI
PKI ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΡ ΡΠ΅Π½ΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉ Π·Π°Π²Π΅ΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ Π² ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, Π½Π΅ ΠΈΠΌΠ΅Ρ ΠΏΡΡΠΌΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΌ ΡΠ΅Π½ΡΡΠΎΠΌ — ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°. ΠΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ, ΠΏΡΠΎΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ ΡΠ΅ΠΏΠΎΡΠΊΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΌΠΈ ΡΠ΅Π½ΡΡΠ°ΠΌΠΈ: ΡΠ²ΠΎΠΈΠΌ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ. ΠΠ»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ PKI ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π²Π° ΡΠΈΠΏΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ: ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΡΡ ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π² ΡΠ²ΡΠ·ΠΈ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΡΠΈΠ΄Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°.
ΠΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠ΅ ΡΠ΅Π½ΡΡΡ (Π£Π¦) ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡΡΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π½ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΡ ΡΠ΅Π½ΡΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π£Π¦, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π½ΠΈΠΆΠ΅ Π΅Π³ΠΎ ΠΏΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ. Π ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΎΠΉ PKI ΠΊΠ°ΠΆΠ΄Π°Ρ Π΄ΠΎΠ²Π΅ΡΡΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° Π·Π½Π°Π΅Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ Π£Π¦. ΠΡΠ±ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ ΠΏΡΡΠ΅ΠΌ Π²ΡΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΎΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π½ΡΡΠ°. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ «ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅» ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ², ΠΈΠ·Π΄Π°Π½Π½ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ Π£Π¦. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°Π΄ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ Π½Π΅ ΠΈΡΡΠ΅ΠΊ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½Π΅ Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ²Π΅ΡΡΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΠΏΠΎΡΠΊΠΈ: ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΠΏΡΠΎΡΠ°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ΄Π΅Π»Ρ Ρ ΠΏΡΠΎΡΠ°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ Π²ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ, ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. ΠΠΎΠ΄Π΅Π»Ρ Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΌ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π²ΡΠ΅ΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ, ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π£Π¦ Π²ΡΠ΅ΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ.
Π‘Π΅ΡΠ΅Π²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠ΅ ΡΠ΅Π½ΡΡΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΡΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°, ΡΠΎ Π΅ΡΡΡ Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π΄ΡΡΠ³ Π΄Π»Ρ Π΄ΡΡΠ³Π°. ΠΠ·Π°ΠΈΠΌΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π£Π¦ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΠΏΠ°ΡΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠΎΠ²Π΅ΡΡΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° Π·Π½Π°Π΅Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΠΊ Π½Π΅ΠΉ Π£Π¦, ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΡΠΎ Π²ΡΠΏΡΡΡΠΈΠ» Π΄Π»Ρ Π½Π΅Π΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ. ΠΠΎΠ²Π΅ΡΡΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, Π²ΡΡΡΡΠ°ΠΈΠ²Π°Ρ ΡΠ΅ΠΏΠΎΡΠΊΡ Π΄ΠΎΠ²Π΅ΡΠΈΡ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ Π΅ΠΉ Π£Π¦, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½Π° Π΄ΠΎΠ²Π΅ΡΡΠ΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π½Π°Π΅Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π£Π¦3, Π° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ — ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π£Π¦4. Π ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΎΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΌΠ°Ρ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΡΠ΅ΠΏΠΎΡΠΊΠ° ΡΠ°ΠΊΠ°Ρ: ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ, Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ Π£Π¦3, Π·Π°ΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π£Π¦3, Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ Π£Π¦5, ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π£Π¦5, Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ Π£Π¦4. Π£Π¦4 — ΡΡΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π΄ΠΎΠ²Π΅ΡΡΠ΅Ρ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π£Π¦ Π² ΡΠ΅ΡΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅Π΄Π΅Ρ ΠΊ ΡΡΡΠ°ΡΠ΅ Π΄ΠΎΠ²Π΅ΡΠΈΡ ΠΊΠΎ Π²ΡΠ΅ΠΉ PKI.
ΠΠΈΠ±ΡΠΈΠ΄Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
ΠΠ»Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π½Π΅Π΄Π°Π²Π½ΠΎ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π³ΠΈΠ±ΡΠΈΠ΄Π½Π°Ρ ΠΈΠ»ΠΈ ΠΌΠΎΡΡΠΎΠ²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ PKI Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π£Π¦, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΡΡΠΎΠ²ΡΠΌ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ Π£Π¦ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ PKI.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π£Π¦ ΠΌΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠ΅Π½ΡΡ Π½Π΅ Π²ΡΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π° Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ Π£Π¦ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΎΠΉ PKI — Π½Π΅ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·Π»Π° Π΄ΠΎΠ²Π΅ΡΠΈΡ.
ΠΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ PKI ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΌΠΎΡΡΠΎΠ²ΠΎΠΉ Π£Π¦ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠ°. ΠΠΎΡΡΠΎΠ²ΠΎΠΉ Π£Π¦ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «ΡΠ°Π²Π½ΡΠΉ Ρ ΡΠ°Π²Π½ΡΠΌ» ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ PKI. ΠΡΠ»ΠΈ PKI ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΎΠΉ, ΠΌΠΎΡΡΠΎΠ²ΠΎΠΉ Π£Π¦ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Ρ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ Π£Π¦. ΠΡΠ»ΠΈ PKI ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π²ΡΠΌ, ΠΌΠΎΡΡΠΎΠ²ΠΎΠΉ Π£Π¦ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π£Π¦ ΡΠ΅ΡΠΈ. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π£Π¦, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΡΠΏΠ°Π΅Ρ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Ρ ΠΌΠΎΡΡΠΎΠ²ΡΠΌ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π³Π»Π°Π²Π½ΡΠΌ.
ΠΠ»Π°Π²Π½ΡΠ΅ Π£Π¦ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ PKI Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π΄Π»Ρ ΠΌΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ Π£Π¦, ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ PKI ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π²Π·Π°ΠΈΠΌΠ½Π°Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ΅ΠΌ ΡΠΈΡΡΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠ»ΠΈ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π΄ΠΎΠ²Π΅ΡΠΈΡ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ Π£Π¦, ΡΠΎ Π²ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΡΠΎΠΆΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ. Π ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π£Π¦ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΡΠ²Π°Π΅Ρ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ PKI.
1.4 ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ PKI
Entrust/PKI
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Entrust Technologies — Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ PKI. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ — ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Entrast/PKI, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΡ ΡΠ΅Π½ΡΡΠΎΠ² ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ PKI. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ — Windows NT, Sun Solaris, HP-UX, AIX.
Entrast/PKI ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅ΠΌΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²:
1. Entrast/Authority — ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡΡΠΈΠΉ Π£Π¦. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ², Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ.
2. Directory — ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠΏΠΈΡΠΊΠΎΠ² Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ².
3. Entrast/RA — Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅Π½ΡΡΠ°
4. Entrast/Auto RA — Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅Π½ΡΡ, ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±Π΅Π· ΡΡΠ°ΡΡΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°.
5. Entrast/Profile Server — Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
6. Entrast/Timestamp — ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠΊ Π΄Π°ΡΡ-Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
7. Entrast/Intelligence — ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Entrust-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Entrust
Baltimore UniCert
ΠΡΠΎΠ΄ΡΠΊΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Baltimore Technologies LTD. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ UniCert 5.0 ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π£Π¦, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΠΎΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΠ — UniCert Core, ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ΅ ΠΠ — UniCert Advanced.
RSA Keon
ΠΡΠΎΠ΄ΡΠΊΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ RSA Security Inc. ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ: Keon Certification Authority 6.5, Registration Authority, WebCentry, Key Recovery Module, Secure E-mail Module. Π―Π²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π΄Π΅ΡΠ΅Π²ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΠ· Π·Π°ΡΡΠ±Π΅ΠΆΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ².
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΡΡΠ±Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΠ PKI ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π ΠΎΡΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ, ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π€ΠΠΠ‘Π ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ PKI-ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
VCERT PKI
ΠΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ: ΠΠΠ‘Π’ 28 147–89, ΠΠΠ‘Π’ Π 34.10−94 ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows NT, 95/98. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ — ΠΠ ΠΠΠΠΠ ΠΈ ΠΠΠ «ΠΠ°Π»ΠΈΠ΄Π°ΡΠ°».
ΠΡΠΈΠΏΡΠΎΠΡΠΎ
ΠΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ². ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ — ΠΡΠΈΠΏΡΠΎΠΡΠΎ Π£Π¦, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. ΠΡΠΎΠ΄ΡΠΊΡ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ Π€ΠΠΠ‘Π. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ — ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ «ΠΡΠΈΠΏΡΠΎ-ΠΡΠΎ» ΠΈ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΠ’Π¦ «ΠΡΠ»Π°Ρ».
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΠΎΠ΄ΠΌΠ΅Π½Ρ Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΠΡΡ ΠΈΠ² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ².
ΠΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ° ΠΈ ΠΠ°Π·Ρ ΠΠ°Π½Π½ΡΡ .
ΠΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (ΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅).
Π ΠΈΡΡΠ½ΠΎΠΊ 1. ΠΠ»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ° Π ΠΈΡΡΠ½ΠΎΠΊ 2. Π€ΠΎΡΠΌΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΊΠ»ΡΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π ΠΈΡΡΠ½ΠΎΠΊ 3. Π€ΠΎΡΠΌΠ° ΡΠΊΡΠΏΠΎΡΡΠ° ΠΊΠ»ΡΡΠ° Π€ΠΎΡΠΌΠ° ΠΠ°Π·Π° ΠΠ°Π½Π½ΡΡ Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π’Π°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΠ — ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ»Π΅ ΠΡΡ ΠΈΠ² — ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅, Π²Ρ ΠΎΠ΄ΠΈΡ Π»ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π² Π°ΡΡ ΠΈΠ² — Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, Π΅ΡΠ»ΠΈ Π½Π΅Ρ-ΡΠΎ 0.
Π ΠΈΡΡΠ½ΠΎΠΊ 4. Π€ΠΎΡΠΌΠ° ΠΠ°Π·Ρ ΠΠ°Π½Π½ΡΡ Π ΠΈΡΡΠ½ΠΎΠΊ 5. Π€ΠΎΡΠΌΠ° ΡΠΊΡΠΏΠΎΡΡΠ° ΠΊΠ»ΡΡΠ΅ΠΉ ΠΠ° ΡΠΎΡΠΌΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ ΠΈ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² ΠΠ.
Π ΠΈΡΡΠ½ΠΎΠΊ 6. Π€ΠΎΡΠΌΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π ΠΈΡΡΠ½ΠΎΠΊ 7. Π€ΠΎΡΠΌΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΊΠ»ΡΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ Π ΠΈΡΡΠ½ΠΎΠΊ 8. Π€ΠΎΡΠΌΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΠ° Π€ΠΎΡΠΌΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°. ΠΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΡΡΠ΅ΠΊ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π² Π°ΡΡ ΠΈΠ². Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄ΡΡΠ½ΠΈΠ΅ ΠΏΠΎΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 9. Π€ΠΎΡΠΌΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π ΠΈΡΡΠ½ΠΎΠΊ 10. — Π€ΠΎΡΠΌΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠΎΠ»Π΅ΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π ΠΈΡΡΠ½ΠΎΠΊ 11. ΠΡΡ ΠΈΠ²
4. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
4.1 ΠΠΎΠ΄ΡΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ FormMain
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, Wcrypt2, StdCtrls, unit2, sertif, Users, KeysForm, Verific, NewUser, DatM, Expo, Proc, Unit6, DatBase;
type
TMainF = class (TForm)
MainMenu1: TMainMenu;
Certificate: TMenuItem;
Verify: TMenuItem;
Archive: TMenuItem;
Admin: TMenuItem;
GenKey: TMenuItem;
Exit: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
procedure Button1Click (Sender: TObject);
procedure GenKeyClick (Sender: TObject);
procedure VerifyClick (Sender: TObject);
procedure ExitClick (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure N4Click (Sender: TObject);
procedure FormClose (Sender: TObject; var Action: TCloseAction);
procedure ArchiveClick (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
MainF: TMainF;
implementation
{$R *.dfm}
procedure TMainF. Button1Click (Sender: TObject);
var s, s1, s2: string;
f1, f2: Boolean;
begin
end;
procedure TMainF. GenKeyClick (Sender: TObject);
begin
Keys. Button3. Enabled:= false;
Keys. Show;
end;
procedure TMainF. VerifyClick (Sender: TObject);
begin
Form3. Show;
end;
procedure TMainF. ExitClick (Sender: TObject);
begin
MainF. Close;
end;
procedure TMainF. N3Click (Sender: TObject);
begin
UsersForm.pFIBDataSet1. Active:= true;
UsersForm. Show;
end;
procedure TMainF. N2Click (Sender: TObject);
begin
DatM. SerN:= GetserNom;
DatM. IdAlgS:= 'GOST open key';
DatM. Izd:= 'GOST';
DatM. Org:= 'Org';
DatM. User:= 'User';
DatM. OpKU:= «;
DatM. SignAlg:= 'sign algoritm';
NewU. Edit2. Text:= DatM. User;
NewU. SpeedButton2. Enabled:= false;
NewU. SpeedButton3. Enabled:= false;
NewU. Show;
end;
procedure TMainF. N4Click (Sender: TObject);
begin
BD. Show;
end;
procedure TMainF. FormClose (Sender: TObject; var Action: TCloseAction);
begin
DM.pFIBDatabase1. Connected:= false;
end;
procedure TMainF. ArchiveClick (Sender: TObject);
begin
Ar.pFIBDataSet1. Active:= true;
Ar. Show;
end;
end.
4.2 ΠΠΎΠ΄ΡΠ»Ρ ΡΠΎΡΠΌΡ KeysForm
unit KeysForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, Proc, Wcrypt2, ComCtrls, Expo;
type
TKeys = class (TForm)
Button1: TButton;
ConComboBox: TComboBox;
Button2: TButton;
Label1: TLabel;
ReportMemo: TMemo;
Label3: TLabel;
Label4: TLabel;
KeyLEdit2: TEdit;
UpDown2: TUpDown;
CheckBox2: TCheckBox;
Button3: TButton;
procedure Button1Click (Sender: TObject);
procedure FormActivate (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Keys: TKeys;
implementation
uses Math;
{$R *.dfm}
procedure createCont (nameCon: String);
var cont: PChar;
name, con: string;
hContext: PHCRYPTPROV;
begin
// ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡ
// ΠΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π±Π΅ΡΠ΅ΠΌ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° EdtCont
// ΠΈΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° con
//if length (edtCont. Text) = 0 then
con:=nameCon;
name:= Con;
cont:= StrAlloc (length (name) + 1);
StrPCopy (cont, name);
// ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ
if not CryptAcquireContext (@hContext, cont, nil, PROV_RSA_FULL, 0) then
begin // Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ
// ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ
if not CryptAcquireContext (@hContext, cont, nil, PROV_RSA_FULL,
CRYPT_NEWKEYSET) then
begin
//error:= GetLastError;
MessageDlg (' ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:', mtInformation, [mbOK], 0);
Exit;
end
else MessageDlg (' Π‘ΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ' + name,
mtInformation, [mbOK], 0);
end
else MessageDlg ('ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ '+name, mtInformation, [mbOK], 0);
end;
procedure GenKey (s:string); // (Sender: TObject);
var
cont: PChar;
err, KeyL1, KeyLS: string;
hProv: HCRYPTPROV;
KeyExchKey, SignKey: HCRYPTKEY;
flag, keyLen: DWORD;
begin
Keys. ReportMemo. Clear;
{"ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ" ΠΈΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°}
if length (s) = 0 then
cont:= nil
else
begin
err:= s;
cont:= StrAlloc (length (err) + 1);
StrPCopy (cont, err);
end;
KeyLS:= IntToStr (Keys. UpDown2. Position);
CryptAcquireContext (@hProv, cont, nil, PROV_RSA_FULL, 0);
keyLen:= strtoint (KeyLS);
if Keys. CheckBox2. Checked then
begin
flag:= keyLen shl 16;
if not CryptGenKey (hProv, AT_SIGNATURE, flag, @SignKey) then
begin
case int64 (GetLastError) of
ERROR_INVALID_HANDLE: err:= 'ERROR_INVALID_HANDLE';
ERROR_INVALID_PARAMETER: err:= 'ERROR_INVALID_PARAMETER';
NTE_BAD_FLAGS: err:= 'NTE_BAD_FLAGS';
NTE_BAD_ALGID: err:= 'NTE_BAD_ALGID';
NTE_BAD_UID: err:= 'NTE_BAD_UID';
NTE_FAIL: err:= 'NTE_FAIL';
else err:= 'Unknown error';
end;
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ: ' + err, mtError, [mbOK], 0);
end
else
begin
Keys. ReportMemo. Lines. Add ('');
Keys. ReportMemo. Lines. Add ('Π‘ΠΎΠ·Π΄Π°Π½ ΠΊΠ»ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ:');
flag:= 4;
if not CryptGetKeyParam (SignKey, KP_KEYLEN, @keyLen, @flag, 0) then
begin
GetLastError;
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΠΊΠ»ΡΡΠ°: ' + err,
mtError, [mbOK], 0);
end
else Keys. ReportMemo. Lines. Add (' Π΄Π»ΠΈΠ½Π° ΠΊΠ»ΡΡΠ° — ' + inttostr (keyLen));
flag:= 4;
if not CryptGetKeyParam (SignKey, KP_ALGID, @keyLen, @flag, 0) then
begin
GetLastError;
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΠΊΠ»ΡΡΠ°: ' + err, mtError, [mbOK], 0);
end
else Keys. ReportMemo. Lines. Add (' Π°Π»Π³ΠΎΡΠΈΡΠΌ — ' + inttostr (keyLen));
end;
end;
CryptReleaseContext (hProv, 0);
end;
procedure TKeys. Button1Click (Sender: TObject);
var
s: string;
begin
if Keys. ConComboBox. Text<>'' then
begin
s:=ConComboBox. Text;
createCont (s);
ConComboBox. Items. Add (s);
Keys. Button2. Enabled:= true;
end
else
MessageDlg (' ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°', mtInformation, [mbOK], 0);
end;
procedure TKeys. FormActivate (Sender: TObject);
begin
Keys. ReportMemo. Clear;
Keys. Button2. Enabled:= false;
end;
procedure TKeys. Button2Click (Sender: TObject);
var
s, l: String;
begin
s:= ConComboBox. Text;
l:= IntToStr (UpDown2. Position);
if Length (s)=0 then
begin
MessageDlg (' ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°', mtInformation, [mbOK], 0);
Exit;
end
else begin
GenKey (s);
Button3. Enabled:= true;
end;
end;
procedure TKeys. Button3Click (Sender: TObject);
begin
Exp. ComboBox1. Text:= Keys. ConComboBox. Text;
Exp. Show;
end;
end.
4.3 ΠΠΎΠ΄ΡΠ»Ρ ΡΠΎΡΠΌΡ NewUser
unit NewUser;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, Buttons, Expo, Sertif, Proc, ExtCtrls, Wcrypt2, DatM, expOp, Users, AddUsers;
type
TNewU = class (TForm)
Edit1: TEdit;
Button1: TButton;
UKeyL: TEdit;
UpDown1: TUpDown;
Button2: TButton;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button3: TButton;
SpeedButton1: TSpeedButton;
Panel1: TPanel;
Label6: TLabel;
Label5: TLabel;
Label7: TLabel;
PerS: TDateTimePicker;
PerEnd: TDateTimePicker;
Memo1: TMemo;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
Edit4: TEdit;
AdmKey: TEdit;
Label4: TLabel;
procedure SpeedButton1Click (Sender: TObject);
procedure FormActivate (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure SpeedButton2Click (Sender: TObject);
procedure SpeedButton3Click (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
NewU: TNewU;
implementation
{$R *.dfm}
procedure TNewU. SpeedButton1Click (Sender: TObject);
begin
Certifikat. SerNom. Text:= DatM. SerN;
DatM.p1:= DateToStr (PerS. DateTime);
DatM.p2:= DateToStr (PerEnd. DateTime);
Certifikat. Show;
end;
procedure TNewU. FormActivate (Sender: TObject);
begin
Randomize;
Button3. Enabled:= DatM. flag;
end;
procedure TNewU. Button1Click (Sender: TObject);
begin
createCont (Edit1. Text);
end;
procedure TNewU. Button2Click (Sender: TObject);
var
l: string;
begin
l:= IntToStr (UpDown1. Position);
if Length (Edit1. Text)=0 then
begin
MessageDlg (' ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°', mtInformation, [mbOK], 0);
Exit;
end
else begin
GenKeyOp (Edit1. Text, l);
SpeedButton2. Enabled:= true;
end;
end;
procedure TNewU. Button3Click (Sender: TObject);
var
FName, S, path: String;
cont: PChar;
Name: string;
hProv: HCRYPTPROV;
alg: ALG_ID;
hash: HCRYPTHASH;
f2, f1: file;
size: DWORD;
buf: array [0.511] of byte;
signature: PBYTE;
str:string;
posn:integer;
key: HCRYPTKEY;
test, textsize: DWORD;
buf2: PBYTE;
signkey: PBYTE;
format:array [0.9] of char;
i:integer;
ft: TextFile;
begin
Memo1. Lines. Add ('Π‘Π΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ' + DatM. SerN);
Memo1. Lines. Add ('ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ '+ DatM. IdAlgS);
Memo1. Lines. Add ('ΠΠΌΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ '+DatM. Izd);
Memo1. Lines. Add ('ΠΠ΅ΡΠΈΠΎΠ΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ');
Memo1. Lines. Add ('c '+DateToStr (PerS. DateTime)+ ' 00:00:00');
Memo1. Lines. Add ('Π΄ΠΎ '+DateToStr (PerEnd. DateTime)+ ' 00:00:00');
Memo1. Lines. Add ('ΠΠΌΡ ΡΡΠ±ΡΠ΅ΠΊΡΠ° '+ DatM. Org+' '+ DatM. User);
Memo1. Lines. Add ('ΠΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΡΡΠ±ΡΠ΅ΠΊΡΠ° '+ DatM. OpKU);
Memo1. Lines. Add ('ΠΠΎΠ΄ΠΏΠΈΡΡ Π£Π¦ Π°Π»Π³ΠΎΡΠΈΡΠΌ: '+ DatM. SignAlg);
path:= ExtractFilePath (Application. ExeName)+'temp.txt';
AssignFile (ft, path);
Rewrite (ft);
for i:= 0 to 6 do
begin
s:= Memo1. Lines[i];
Writeln (ft, s);
end;
s:= 'ΠΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΡΡΠ±ΡΠ΅ΠΊΡΠ° '+ DatM. OpKU;
Writeln (ft, s);
s:= 'ΠΠΎΠ΄ΠΏΠΈΡΡ Π£Π¦ Π°Π»Π³ΠΎΡΠΈΡΠΌ: '+ DatM. SignAlg;
Writeln (ft, s);
CloseFile (ft);
if AdmKey. Text='' then
begin
MessageDlg ('ΠΠ΅ Π²ΡΠ±ΡΠ°Π½ ΠΊΠ»ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ!!!', mtWarning, [mbOK], 0);
exit;
end
else begin
alg:= CALG_SHA;
Name:= AdmKey. Text;
cont:= StrAlloc (length (name) + 1);
StrPCopy (cont, name);
if not CryptAcquireContext (@hProv, cont, nil, PROV_RSA_FULL, 0) then
begin
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΠΎΡΠΊΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°!!!', mtError, [mbOK], 0);
exit;
end;
if not CryptCreateHash (hProv, alg, 0, 0, @hash) then
begin
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ Π΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡΠ°!!!', mtError, [mbOK], 0);
exit;
end;
if SaveDialog1. Execute then begin
str:=SaveDialog1. FileName;
Edit4. Text:= str;
posn:=pos ('.cer', str);
if posn <> 0 then delete (str, posn, 4);
SaveDialog1. FileName:=str;
AssignFile (f1, SaveDialog1. FileName+'.cer');
rewrite (f1, 1);
str:= ExtractFileName (path);
posn:=pos ('.', str);
if posn <> 0 then delete (str, 1, posn-1)
else str:='';
for i:=0 to length (str) — 1 do
format[i]: =str [i+1];
for i:=length (str) to 9 do
format[i]: =#0;
BlockWrite (F1, format, 10);
BlockWrite (f1, alg, 4);
AssignFile (f2, path);
reset (f2, 1);
size:= FileSize (f2);
BlockWrite (f1, size, 4);
while not eof (f2) do
begin
BlockRead (f2, buf{^}, 512, size);
BlockWrite (f1, buf, size);
if not CryptHashData (hash, @buf, size, 0) then
begin
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ!!!', mtError, [mbOK], 0);
exit;
end;
end;
CloseFile (f2);
if not CryptSignHash (hash, AT_SIGNATURE, nil, 0, nil, @size) then
begin
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ!!!', mtError, [mbOK], 0);
CloseFile (f1);
exit;
end;
GetMem (signature, size);
if not CryptSignHash (hash, AT_SIGNATURE, nil, 0, signature, @size) then
begin
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠΈ Ρ Π΅ΡΠ°!!!', mtError, [mbOK], 0);
CloseFile (f1);
exit;
end;
BlockWrite (f1, size, 4);
BlockWrite (f1, signature^, size);
CloseFile (f1);
if not CryptDestroyHash (hash) then
begin
MessageDlg ('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π΅ΡΠ°!!!', mtError, [mbOK], 0);
end;
if not CryptReleaseContext (hProv, 0) then
begin
MessageDlg ('ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ!!!', mtError, [mbOK], 0);
end;
MessageDlg ('Π€Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ!!!', mtInformation, [mbOK], 0);
end;
// ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅ΠΌ Ρ Π΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
CryptDestroyHash (hash);
CryptReleaseContext (hProv, 0);
// ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΠ
SpeedButton3. Enabled:= true;
end;
end;
procedure TNewU. SpeedButton2Click (Sender: TObject);
begin
Form4. ComboBox1. Text:= Edit1. Text;
Form4. Show;
end;
procedure TNewU. SpeedButton3Click (Sender: TObject);
begin
DatM. Path:= ExtractFileName (Edit4. Text);
AdUser. Edit2. Text:= DatM. SerN;
AdUser. Edit1. Text:= DatM. Org;
AdUser. Edit3. Text:= DatM. Path;
AdUser.pFIBDataSet1. Active:= true;
AdUser. Show;
end;
end.
ΠΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ
1. Π‘ΡΠΎΠ»ΠΈΠ½Π³Ρ, Π. ΠΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΈ Π·Π°ΡΠΈΡΠ° ΡΠ΅ΡΠ΅ΠΉ [Π’Π΅ΠΊΡΡ] /ΠΠΈΠ»ΡΡΠΌ Π‘ΡΠΎΠ»Π»ΠΈΠ½Π³Ρ. — Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ «ΠΠΈΠ»ΡΡΠΌΡ», 2001. — 685 Ρ.
2. ΠΠ°Π»ΠΈΠ½ΠΈΠ½Π° Π. Π. ΠΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ 220 400 «ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ» ΠΎΡΠ½ΠΎΠΉ, ΠΎΡΠ½ΠΎΠΉ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΈ Π·Π°ΠΎΡΠ½ΠΎΠΉ ΡΠΎΡΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, 552 800 «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ° ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ°» ΠΎΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ / Π‘ΠΎΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π. Π. ΠΠ°Π»ΠΈΠ½ΠΈΠ½Π°. — ΠΡΠ°ΡΠ½ΠΎΡΡΡΠΊ: Π‘ΠΈΠ±ΠΠ’Π£, 2008. — 18 Ρ.
3. ΠΠ°Π»ΠΈΠ½ΠΈΠ½Π° Π. Π. ΠΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: ΡΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ 230 105 «ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ» ΠΎΡΠ½ΠΎΠΉ, ΠΎΡΠ½ΠΎΠΉ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΈ Π·Π°ΠΎΡΠ½ΠΎΠΉ ΡΠΎΡΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ / Π. Π. ΠΠ°Π»ΠΈΠ½ΠΈΠ½Π°. — ΠΡΠ°ΡΠ½ΠΎΡΡΡΠΊ: Π‘ΠΈΠ±ΠΠ’Π£, 2009. — 196 Ρ.
4. Π‘Π’Π 3.4.204−01. Π‘ΡΠ°Π½Π΄Π°ΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². — ΠΡΠ°ΡΠ½ΠΎΡΡΡΠΊ: Π‘ΠΈΠ±ΠΠ’Π£, 2001. — 46 Ρ.
5. FIBPlus 6.9.6 Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.