เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเต† เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ Rutoken เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดณเตเดณ เดชเดฐเดฟเดšเดฏเด‚ (เดญเดพเด—เด‚ 3)

เดฆเดฟเดตเดธเด‚ เดจเดฒเตเดฒ!

เดฎเตเตป เดญเดพเด—เดคเตเดคเต เดžเด™เตเด™เตพ เดžเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เดธเต†เดจเตเดฑเตผ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต. เดจเดฎเตเดฎเตเดŸเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดŽเด™เตเด™เดจเต† เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเด‚?

เด’เดฐเต เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด…เดคเต‹เดฑเดฟเดฑเตเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดžเด™เตเด™เตพเด•เตเด•เต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพ เดจเตฝเด•เดพเดจเตเด‚ เดˆ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเดฒเต† เด’เดชเตเดชเตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เด’เดฐเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เด’เดฐเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเต เดจเตฝเด•เตเดฎเตเดชเต‹เตพ, '.csr' เดซเดฏเตฝ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เด‰เดณเตเดณ เด’เดฐเต Pkcs#10 เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเต เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด…เดคเต‹เดฑเดฟเดฑเตเดฑเดฟ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด…เดคเต‹เดฑเดฟเดฑเตเดฑเดฟเด•เตเด•เต เดŽเด™เตเด™เดจเต† เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เด…เดฑเดฟเดฏเดพเดตเตเดจเตเดจ เด’เดฐเต เดŽเตปเด•เต‹เดกเต เดšเต†เดฏเตโ€Œเดค เดธเต€เด•เตเดตเตปเดธเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเตเดฑเต† เดชเตŠเดคเต เด•เต€เดฏเตเด‚ เด’เดฐเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเตเดณเตเดณ เด’เดฐเต เด…เดจเตเดฌเดจเตเดง เดถเตเดฐเต‡เดฃเดฟ).

เด…เดŸเตเดคเตเดค เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เด’เดฐเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดŽเด™เตเด™เดจเต† เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดจเต‹เด•เตเด•เตเด‚, เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดฌเดพเด•เตเด•เต†เตปเดกเต เดตเดถเดคเตเดคเต เดžเด™เตเด™เดณเตเดŸเต† เดšเตเดฎเดคเดฒ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดพเตป เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด…เดคเต‹เดฑเดฟเดฑเตเดฑเดฟเดฏเตเดŸเต† เดชเตเดฐเดงเดพเดจ เด•เดฎเดพเตปเดกเตเด•เตพ เดจเตฝเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดคเตเด•เตŠเดฃเตเดŸเต เด†เดฆเตเดฏเด‚ เดจเดฎเตเดฎเตพ เด’เดฐเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเต เด‰เดฃเตเดŸเดพเด•เตเด•เดฃเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต:

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.

-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-เตฝ เดธเด‚เดฐเด•เตเดทเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณ เด•เต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เดˆ เดซเดฏเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดกเต€เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดกเดพเดฑเตเดฑ เดกเดพเดฑเตเดฑเดฏเตเดณเตเดณ เด’เดฐเต เดซเดฏเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต.file.
    3. เดžเด™เตเด™เตพ data.file เดตเดพเดฏเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดงเตเดคเดฏเตเด•เตเด•เดพเดฏเดฟ เดˆ เดกเดพเดฑเตเดฑ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เด†เดฆเตเดฏ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ. เดกเดพเดฑเตเดฑ เดธเดพเดงเตเดคเดฏเตเดณเตเดณเดคเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด…เด‚เด—เต€เด•เดพเดฐเด‚ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฃเต†เดจเตเดจเต เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต.

เดˆ เด…เตฝเด—เต‹เดฐเดฟเดคเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป, เดฌเดพเด•เตเด•เต†เตปเดกเต เดŽเดดเตเดคเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดเดคเต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

เด…เดŸเตเดคเตเดค เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ Retoken เดชเตเดฒเด—เดฟเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚.

ะกะฟะฐัะธะฑะพ!

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•