ããã¯ãã¹ãŠã©ã®ããã«å§ãŸã£ãã®ã
èªäž»é颿éãå§ãŸã£ãã°ããã®é ãç§ã¯éµäŸ¿ã§æçŽãåãåããŸããã

æåã®åå¿ã¯åœç¶ã®ãã®ã§ãããããŒã¯ã³ãåãã«è¡ãããæåãããã®ã©ã¡ããã§ããæææ¥ãããã£ãšå®¶ã«ããŠãç§»åãå¶éãããŠããã®ã§ãã©ããªããããããŸãããã§ããããçãã¯è³ã£ãŠèªç¶ã§ããã

ãããŠãçããããåç¥ã®éãã4æ1æ¥æææ¥ããããªã峿 Œãªèªå·±é颿éãå§ãŸããŸãããç§ãã¡ãå
šå¡ãªã¢ãŒãã¯ãŒã¯ã«åãæ¿ããVPNãå¿
èŠã«ãªããŸãããç§ãã¡ã®VPNã¯ã OpenVPNãã ãããã·ã¢ã®æå·åã«å¯Ÿå¿ããPKCS#11ããŒã¯ã³ãšPKCS#12ã³ã³ãããæ±ããããã«ä¿®æ£ãããŠããŸããåœç¶ã®ããšãªãããç§ãã¡èªèº«ãVPNçµç±ã§äœæ¥ããæºåãäžå
šã§ã¯ãªãã£ãããšã倿ããŸãããå€ãã®ãŠãŒã¶ãŒã¯èšŒææžãæã£ãŠããããäžã«ã¯æéåãã®èšŒææžãæã£ãŠãããŠãŒã¶ãŒãããŸããã
ããã»ã¹ã¯ã©ã®ããã«é²ã¿ãŸããã?
ãããŠãŠãŒãã£ãªãã£ãæäžäž»ãšãªã£ã ããã³ã¢ããªã±ãŒã·ã§ã³ ïŒèšŒææ©é¢ïŒã
cryptoarmpkcs ãŠãŒãã£ãªãã£ã䜿çšãããšãèªå® ã®ã³ã³ãã¥ãŒã¿ãŒã«ããŒã¯ã³ãæã€èªå·±éé¢äžã®åŸæ¥å¡ã¯ãèšŒææžã®ãªã¯ãšã¹ããçæã§ããŸãã

åŸæ¥å¡ã¯ä¿åããããªã¯ãšã¹ããã¡ãŒã«ã§éã£ãŠãããŸããããå人æ
å ±ã¯ã©ããªã£ãŠããã®ïŒããšçåã«æã人ããããããããŸããããããèŠããšãªã¯ãšã¹ãã«ã¯å人æ
å ±ã¯äžåå«ãŸããŠããŸããããŸãããªã¯ãšã¹ãèªäœã¯çœ²åã«ãã£ãŠä¿è·ãããŠããŸãã
åä¿¡åŸãèšŒææžèŠæ±ã¯ CAFL63 CA ããŒã¿ããŒã¹ã«ã€ã³ããŒããããŸãã

ãã®åŸããªã¯ãšã¹ãã¯æ¿èªãŸãã¯æåŠãããŸãããªã¯ãšã¹ãã確èªããã«ã¯ããªã¯ãšã¹ããéžæããå³ã¯ãªãã¯ããŠããããããŠã³ã¡ãã¥ãŒãããæ±ºå®ããéžæããŠãã ããã

æææ±ºå®ã®æé èªäœã¯å®å
šã«éæã§ãã

èšŒææžãåæ§ã®æ¹æ³ã§çºè¡ãããŸãããã¡ãã¥ãŒé
ç®ã¯ãèšŒææžã®çºè¡ããšåŒã°ããŸãã

çºè¡ãããèšŒææžã衚瀺ããã«ã¯ãã³ã³ããã¹ã ã¡ãã¥ãŒã䜿çšãããã察å¿ããè¡ãããã«ã¯ãªãã¯ããŸãã

ããã§ãopensslïŒOpenSSLããã¹ãã¿ãïŒãšCAFL63ã¢ããªã±ãŒã·ã§ã³å
èµãã¥ãŒã¢ïŒèšŒææžããã¹ãã¿ãïŒã®äž¡æ¹ã§å
容ã衚瀺ã§ããããã«ãªããŸãããåŸè
ã®å Žåãã³ã³ããã¹ãã¡ãã¥ãŒã䜿çšããŠãããã¹ã圢åŒã®èšŒææžããŸãã¯ãªããããŒãã«ã³ããŒããæ¬¡ã«ãã¡ã€ã«ã«ã³ããŒããããšãã§ããŸãã
ããã§ãCAFL63 ã§ã¯æåã®ããŒãžã§ã³ãšæ¯ã¹ãŠäœãå€ãã£ãã®ããã説æããå¿ èŠããããŸããèšŒææžã®è¡šç€ºã«ã€ããŠã¯æ¢ã«ã説æããŸããããŸãããªããžã§ã¯ãïŒèšŒææžããªã¯ãšã¹ããCRLïŒã®ã°ã«ãŒããéžæããããŒãžã³ã°ã¢ãŒãã§è¡šç€ºã§ããããã«ãªããŸããïŒãéžæããé ç®ã衚瀺...ããã¿ã³ïŒã
ããããæãéèŠãªã®ã¯ããã®ãããžã§ã¯ããç¡æã§å©çšã§ããããšã ã Linux çšã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«å ããŠã Windows ããã³ OS X çšé åž Android åŸã»ã©æ²èŒããããŸãã
CAFL63ã¢ããªã±ãŒã·ã§ã³ã®ä»¥åã®ããŒãžã§ã³ãšæ¯èŒãããšãã€ã³ã¿ãŒãã§ãŒã¹èªäœã倿Žãããã ãã§ãªããæ¢ã«è¿°ã¹ãããã«ãæ°æ©èœã远å ãããŠããŸããäŸãã°ãã¢ããªã±ãŒã·ã§ã³ã®èª¬æããŒãžãåèšèšãããããŠã³ããŒãé åžãžã®çŽæ¥ãªã³ã¯ã远å ãããŸããã

GOST OpenSSLã®å
¥æå
ã«ã€ããŠãå€ãã®äººãå°ããŠããŸããããä»ãå°ããŠããŸããç§ã¯äŒçµ±çã«ã æäŸïŒ ãã®opensslã®äœ¿ãæ¹ã¯æ¬¡ã®ããã«æžãããŠããŸã .
ããããçŸåšããã£ã¹ããªãã¥ãŒã·ã§ã³ã«ã¯ãã·ã¢ã®æå·åã䜿çšãã openssl ã®ãã¹ã ããŒãžã§ã³ãå«ãŸããŠããŸãã
ãããã£ãŠãCAãèšå®ããéã«ã¯ãLinuxã®å Žåã¯/tmp/lirssl_staticãopensslã®å Žåã¯$::env(TEMP)/lirssl_static.exeã®ãããããæå®ã§ããŸãã Windows:

ãã®å Žåã空㮠lirssl.cnf ãã¡ã€ã«ãäœæãããã®ãã¡ã€ã«ãžã®ãã¹ã LIRSSL_CONF ç°å¢å€æ°ã«æå®ããå¿
èŠããããŸãã

èšŒææžèšå®ã®ãæ¡åŒµæ©èœãã¿ãã«ãèªèšŒå±æ
å ±ã¢ã¯ã»ã¹ããã£ãŒã«ãã远å ãããã«ãŒã CA èšŒææžãš OCSP ãµãŒããŒãžã®ã¢ã¯ã»ã¹ ãã€ã³ããèšå®ã§ããããã«ãªããŸããã

CAãç³è«è
ïŒPKCS#10ïŒãçæãããªã¯ãšã¹ããåãå
¥ããªãããããã¯ããã«æªãããšã«ãäœããã®CSPãä»ããŠãã£ãªã¢åŽã§éµãã¢ãçæãããªã¯ãšã¹ãã®äœæã匷å¶ãããšãã話ã¯ããèããŸãããŸããPKCS#2.0ã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠãæœåºäžå¯èœãªéµãæã€ããŒã¯ã³ïŒåãRuToken EDS-11äžïŒã®ãªã¯ãšã¹ããçæããããšãæåŠãããŸããããã§ãCAFL63ã¢ããªã±ãŒã·ã§ã³ã®æ©èœã«ãPKCS#11ããŒã¯ã³ã®æå·åã¡ã«ããºã ãçšãããªã¯ãšã¹ãçæã远å ããããšã決å®ãããŸãããããŒã¯ã³ã¡ã«ããºã ãæ¥ç¶ããããã«ãããã±ãŒãžã䜿çšãããŸããã CAãžã®ãªã¯ãšã¹ããäœæããéïŒãèšŒææžãªã¯ãšã¹ããããŒãžãããªã¯ãšã¹ã/CSRã®äœæãæ©èœïŒãããŒãã¢ã®çææ¹æ³ïŒopensslã䜿çšãããããŒã¯ã³ã䜿çšãããïŒãšãªã¯ãšã¹ãèªäœã®çœ²åæ¹æ³ãéžæã§ããããã«ãªããŸããã

ããŒã¯ã³ã®æäœã«å¿
èŠãªã©ã€ãã©ãªã¯ãèšŒææžã®èšå®ã§æå®ãããŸãã

ããããåŸæ¥å¡ãèªå·±éé¢ã¢ãŒãã§äŒæ¥VPNãããã¯ãŒã¯ã§äœæ¥ããããã®èšŒææžãæäŸãããšããäž»ãªã¿ã¹ã¯ããã¯éžè±ããŠããŸããŸãããäžéšã®åŸæ¥å¡ãããŒã¯ã³ãæã£ãŠããªãããšã倿ããŸãããããã§ãä¿è·ãããPKCS#12ã³ã³ãããæäŸããããšã決å®ãããŸããã幞ãã«ããCAFL63ã¢ããªã±ãŒã·ã§ã³ã§ãããå¯èœã§ãããŸãããã®ãããªåŸæ¥å¡ã«å¯ŸããŠãæå·åæ
å ±ä¿è·ããŒã«ãOpenSSLãã®çš®é¡ã瀺ãPKCS#10ãªã¯ãšã¹ããéä¿¡ããèšŒææžãçºè¡ããŠPKCS12ã«ããã±ãŒãžåããŸãããããè¡ãã«ã¯ããèšŒææžãããŒãžã§å¿
èŠãªèšŒææžãéžæããå³ã¯ãªãã¯ããŠãPKCS#12ã«ãšã¯ã¹ããŒãããéžæããŸãã

ã³ã³ããã«åé¡ããªãããšã確èªããã«ã¯ãcryptoarmpkcs ãŠãŒãã£ãªãã£ã䜿çšããŸãã

çºè¡ãããèšŒææžãåŸæ¥å¡ã«éä¿¡ã§ããããã«ãªããŸãããèšŒææžãå«ããã¡ã€ã«ïŒããŒã¯ã³ææè
ãã€ãŸããªã¯ãšã¹ããéä¿¡ãã人ïŒã®ã¿ãéä¿¡ããå Žåãããã°ãPKCS#12ã³ã³ãããéä¿¡ããå ŽåããããŸããåŸè
ã®å ŽåãååŸæ¥å¡ã«ã¯ã³ã³ããã®ãã¹ã¯ãŒããé»è©±ã§äŒããããŸããåŸæ¥å¡ã¯VPNæ§æãã¡ã€ã«ãä¿®æ£ããã³ã³ãããžã®ãã¹ãæ£ããæå®ããã ãã§æžã¿ãŸãã
ããŒã¯ã³ææè ã¯ãããŒã¯ã³ã®èšŒææžãã€ã³ããŒãããå¿ èŠããããŸãããããã«ã¯ãåãcryptoarmpkcsãŠãŒãã£ãªãã£ã䜿çšããŸããã

ããã§ãVPN æ§æã«æå°éã®ç·šéãå ããã ãã§ (ããŒã¯ã³ã®èšŒææžã©ãã«ã倿ŽãããŠããå¯èœæ§ããããŸã)ãäŒæ¥ã® VPN ãããã¯ãŒã¯ã¯æ£åžžã«åäœããããã«ãªããŸãã
ããããŒãšã³ã
ãããŠããµãšæ°ã¥ããããªã人ã ã¯ç§ã«ã瀌ç¶ãæã£ãŠããªããã°ãªããªãã®ãããããã¯ç§ã䜿è ãéã£ãŠåœŒãã«æž¡ããªããã°ãªããªãã®ãããããŠãç§ã¯æ¬¡ã®ãããªå å®¹ã®æçŽãéã£ãã

çãã¯ç¿æ¥ã«æ¥ãŸããã

ä»ãã cryptoarmpkcs ãŠãŒãã£ãªãã£ãžã®ãªã³ã¯ãéä¿¡ããŸã:

èšŒææžãªã¯ãšã¹ããäœæããåã«ãããŒã¯ã³ãã¯ãªãŒã³ã¢ããããããšããå§ãããŸãã

ãã®åŸãPKCS#10 èšŒææžã®ãªã¯ãšã¹ããé»åã¡ãŒã«ã§éä¿¡ãããæ¬¡ã®å®å
ã«èšŒææžãçºè¡ããŸããã

ãããŠæ¥œããç¬éã蚪ããŸããã

ãããŠããããªæçŽããããŸããã

ãããŠãã®åŸãã®èšäºãèªçããŸããã
CAFL63 ã¢ããªã±ãŒã·ã§ã³é åžãã©ãããã©ãŒã åã Linux ããã³MS Windows èŠã€ããããšãã§ããŸã
ããã§
cryptoarmpkcsãŠãŒãã£ãªãã£ã®é åžç©ïŒãã©ãããã©ãŒã ãå«ãïŒ Androidã ããã¯
ããã§
åºæïŒ habr.com
