ื ื™ืกื™ื•ืŸ ื‘ืฉื™ืžื•ืฉ ื‘ื˜ื›ื ื•ืœื•ื’ื™ื™ืช Rutoken ืœืจื™ืฉื•ื ื•ื”ืจืฉืื” ืฉืœ ืžืฉืชืžืฉื™ื ื‘ืžืขืจื›ืช (ื—ืœืง 3)

ื™ื•ื ื˜ื•ื‘!

ื‘ื—ืœืง ื”ืงื•ื“ื ื™ืฆืจื ื• ื‘ื”ืฆืœื—ื” ืžืจื›ื– ื”ืกืžื›ื” ืžืฉืœื ื•. ืื™ืš ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ืœืžื˜ืจื•ืช ืฉืœื ื•?

ื‘ืืžืฆืขื•ืช ืจืฉื•ืช ืื™ืฉื•ืจื™ื ืžืงื•ืžื™ืช, ืื ื• ื™ื›ื•ืœื™ื ืœื”ื ืคื™ืง ืื™ืฉื•ืจื™ื ื•ื’ื ืœืืžืช ื—ืชื™ืžื•ืช ืขืœ ืื™ืฉื•ืจื™ื ืืœื•.

ื‘ืขืช ื”ื ืคืงืช ืื™ืฉื•ืจ ืœืžืฉืชืžืฉ, ืจืฉื•ืช ื”ืื™ืฉื•ืจื™ื ืžืฉืชืžืฉืช ื‘ื‘ืงืฉืช ืื™ืฉื•ืจ ืžื™ื•ื—ื“ืช Pkcs#10, ื‘ืขืœืช ืคื•ืจืžื˜ ื”ืงื•ื‘ืฅ '.csr'. ื‘ืงืฉื” ื–ื• ืžื›ื™ืœื” ืจืฆืฃ ืžืงื•ื“ื“ ืฉืจืฉื•ืช ื”ืื™ืฉื•ืจื™ื ื™ื•ื“ืขืช ืœื ืชื— ื‘ืฆื•ืจื” ื ื›ื•ื ื”. ื”ื‘ืงืฉื” ืžื›ื™ืœื” ื’ื ืืช ื”ืžืคืชื— ื”ืฆื™ื‘ื•ืจื™ ืฉืœ ื”ืžืฉืชืžืฉ ื•ื’ื ื ืชื•ื ื™ื ืœื™ืฆื™ืจืช ืื™ืฉื•ืจ (ืžืขืจืš ืืกื•ืฆื™ืื˜ื™ื‘ื™ ืขื ื ืชื•ื ื™ื ืขืœ ื”ืžืฉืชืžืฉ).

ื ื‘ื—ืŸ ื›ื™ืฆื“ ืœืงื‘ืœ ื‘ืงืฉื” ืœืชืขื•ื“ื” ื‘ืžืืžืจ ื”ื‘ื, ื•ื‘ืžืืžืจ ื–ื” ืื ื™ ืจื•ืฆื” ืœืชืช ืืช ื”ืคืงื•ื“ื•ืช ื”ืขื™ืงืจื™ื•ืช ืฉืœ ืจืฉื•ืช ื”ืื™ืฉื•ืจื™ื ืฉื™ืขื–ืจื• ืœื ื• ืœื”ืฉืœื™ื ืืช ื”ืžืฉื™ืžื” ืฉืœื ื• ื‘ืฆื“ ื”ืื—ื•ืจื™.

ืื– ืจืืฉื™ืช ืขืœื™ื ื• ืœื™ืฆื•ืจ ืชืขื•ื“ื”. ืœืฉื ื›ืš ืื ื• ืžืฉืชืžืฉื™ื ื‘ืคืงื•ื“ื”:

openssl ca -batch -in user.csr -out user.crt

ca ื”ื™ื ืคืงื•ื“ืช openSSL ื”ืžืชื™ื™ื—ืกืช ืœืจืฉื•ืช ื”ืื™ืฉื•ืจื™ื,
-ืืฆื•ื•ื” - ืžื‘ื˜ืœ ื‘ืงืฉื•ืช ืื™ืฉื•ืจ ื‘ืขืช ื”ืคืงืช ืื™ืฉื•ืจ.
user.csr โ€” ื‘ืงืฉื” ืœื™ืฆื™ืจืช ืื™ืฉื•ืจ (ืงื•ื‘ืฅ ื‘ืคื•ืจืžื˜ .csr).
user.crt - ืื™ืฉื•ืจ (ืชื•ืฆืื” ืฉืœ ื”ืคืงื•ื“ื”).

ืขืœ ืžื ืช ืฉืคืงื•ื“ื” ื–ื• ืชืคืขืœ, ื™ืฉ ืœื”ื’ื“ื™ืจ ืืช ืจืฉื•ืช ื”ืื™ืฉื•ืจื™ื ื‘ื“ื™ื•ืง ื›ืคื™ ืฉืชื•ืืจ ื‘ื—ืœืง ื”ืงื•ื“ื ืฉืœ ื”ืžืืžืจ. ืื—ืจืช, ื™ื”ื™ื” ืขืœื™ืš ืœืฆื™ื™ืŸ ื‘ื ื•ืกืฃ ืืช ื”ืžื™ืงื•ื ืฉืœ ืชืขื•ื“ืช ื”ืฉื•ืจืฉ ืฉืœ ืจืฉื•ืช ื”ืื™ืฉื•ืจื™ื.

ืคืงื•ื“ืช ืื™ืžื•ืช ืชืขื•ื“ื”:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/โ€ฆโ€ฆ/demoCA/ca.crt -out data.file

cms ื”ื™ื ืคืงื•ื“ืช openSSL ื”ืžืฉืžืฉืช ืœื—ืชื™ืžื”, ืื™ืžื•ืช, ื”ืฆืคื ืช ื ืชื•ื ื™ื ื•ืคืขื•ืœื•ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ื•ืช ืื—ืจื•ืช ื‘ืืžืฆืขื•ืช openSSL.

-verify - ื‘ืžืงืจื” ื–ื”, ืื ื• ืžืืžืชื™ื ืืช ื”ืื™ืฉื•ืจ.

authenticate.cms - ืงื•ื‘ืฅ ื”ืžื›ื™ืœ ื ืชื•ื ื™ื ื—ืชื•ืžื™ื ื‘ืื™ืฉื•ืจ ืฉื”ื•ื ืคืง ืขืœ ื™ื“ื™ ื”ืคืงื•ื“ื” ื”ืงื•ื“ืžืช.

-inform PEM - ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคื•ืจืžื˜ PEM.

-CAfile /Users/โ€ฆโ€ฆ/demoCA/ca.crt - ื ืชื™ื‘ ืœืื™ืฉื•ืจ ื”ืฉื•ืจืฉ. (ื‘ืœื™ ื–ื” ื”ืคืงื•ื“ื” ืœื ืขื‘ื“ื” ืœื™, ืœืžืจื•ืช ืฉื”ื ืชื™ื‘ื™ื ืœ-ca.crt ื ื›ืชื‘ื• ื‘ืงื•ื‘ืฅ openssl.cfg)

-out data.file โ€” ืื ื™ ืฉื•ืœื— ืืช ื”ื ืชื•ื ื™ื ื”ืžืคื•ืขื ื—ื™ื ืœืงื•ื‘ืฅ data.file.

ื”ืืœื’ื•ืจื™ืชื ืœืฉื™ืžื•ืฉ ื‘ืจืฉื•ืช ืื™ืฉื•ืจ ื‘ืฆื“ ื”ืื—ื•ืจื™ ื”ื•ื ื›ื“ืœืงืžืŸ:

  • ืจื™ืฉื•ื ืžืฉืชืžืฉ:
    1. ืื ื• ืžืงื‘ืœื™ื ื‘ืงืฉื” ืœื™ืฆื•ืจ ืื™ืฉื•ืจ ื•ืœืฉืžื•ืจ ืื•ืชื• ื‘ืงื•ื‘ืฅ user.csr.
    2. ืื ื• ืฉื•ืžืจื™ื ืืช ื”ืคืงื•ื“ื” ื”ืจืืฉื•ื ื” ืฉืœ ืžืืžืจ ื–ื” ื‘ืงื•ื‘ืฅ ืขื ื”ืกื™ื•ืžืช .bat ืื• .cmd. ืื ื• ืžืคืขื™ืœื™ื ืืช ื”ืงื•ื‘ืฅ ื”ื–ื” ืžืงื•ื“, ืœืื—ืจ ืฉืฉืžืจื ื• ื‘ืขื‘ืจ ืืช ื”ื‘ืงืฉื” ืœื™ืฆื•ืจ ืื™ืฉื•ืจ ืœืงื•ื‘ืฅ user.csr. ืื ื• ืžืงื‘ืœื™ื ืงื•ื‘ืฅ ืขื ืื™ืฉื•ืจ user.crt.
    3. ืื ื• ืงื•ืจืื™ื ืืช ื”ืงื•ื‘ืฅ user.crt ื•ืฉื•ืœื—ื™ื ืื•ืชื• ืœืœืงื•ื—.

  • ื”ืจืฉืืช ืžืฉืชืžืฉ:
    1. ืื ื• ืžืงื‘ืœื™ื ื ืชื•ื ื™ื ื—ืชื•ืžื™ื ืžื”ืœืงื•ื— ื•ืฉื•ืžืจื™ื ืื•ืชื ื‘ืงื•ื‘ืฅ authenticate.cms.
    2. ืฉืžื•ืจ ืืช ื”ืคืงื•ื“ื” ื”ืฉื ื™ื™ื” ืฉืœ ืžืืžืจ ื–ื” ื‘ืงื•ื‘ืฅ ืขื ื”ืกื™ื•ืžืช .bat ืื• .cmd. ืื ื• ืžืจื™ืฆื™ื ืืช ื”ืงื•ื‘ืฅ ื”ื–ื” ืžื”ืงื•ื“, ืœืื—ืจ ืฉืฉืžืจื ื• ื‘ืขื‘ืจ ืืช ื”ื ืชื•ื ื™ื ื”ื—ืชื•ืžื™ื ืžื”ืฉืจืช ื‘-authenticate.cms. ืื ื• ืžืงื‘ืœื™ื ืงื•ื‘ืฅ ืขื ื ืชื•ื ื™ื ืžืคื•ืขื ื—ื™ื data.file.
    3. ืื ื• ืงื•ืจืื™ื data.file ื•ื‘ื•ื“ืงื™ื ืืช ืชืงืคื•ืช ื”ื ืชื•ื ื™ื ื”ืœืœื•. ืžื” ื‘ื“ื™ื•ืง ืœื‘ื“ื•ืง ืžืชื•ืืจ ื‘ืžืืžืจ ื”ืจืืฉื•ืŸ. ืื ื”ื ืชื•ื ื™ื ืชืงืคื™ื, ื”ืจืฉืืช ืžืฉืชืžืฉ ื ื—ืฉื‘ืช ื›ืžื•ืฆืœื—ืช.

ื›ื“ื™ ืœื™ื™ืฉื ืืœื’ื•ืจื™ืชืžื™ื ืืœื”, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื›ืœ ืฉืคืช ืชื›ื ื•ืช ื”ืžืฉืžืฉืช ืœื›ืชื™ื‘ืช ื”-backend.

ื‘ืžืืžืจ ื”ื‘ื ื ื‘ื—ืŸ ื›ื™ืฆื“ ืœืขื‘ื•ื“ ืขื ื”ืชื•ืกืฃ Retoken.

ืชื•ื“ื” ืœืš!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”