èšäºãçšèªãè«çã«èª€ããç¯ããå Žåãäºåã«è¬çœªããŸãã
ããžã¿ã«çœ²åã«é¢ããäžè¬æ å ±ã¯ã é»å眲åãŠã£ãããã£ã¢ã§å ¥æã§ããŸãã
ã¿ã¹ã¯ã¯äœã§ããã
ããŒã¿ãŠã§ã¢ããŠã¹ããžãã¹ãŠã§ã¢ããŠã¹ã®åœ¹å²ã«ã¯SAP NetWeaverããããŸãã
ãã¹ãŠã®ããŒã¿ã¯ãã¥ãŒãã«ä¿åãããŸãã ãã¥ãŒãã§ã¯ãããã¥ã¡ã³ããä¿åãããŸãã å®éãããã¥ã¡ã³ãã¯ãåãå±æ§ïŒããã¥ã¡ã³ãçªå·ïŒãæã€äžé£ã®ãã¥ãŒãã©ã€ã³ã§ãã ããŒã¿ã®æäœã¯ãWeb Explorer Business Explorer Webã¢ããªã±ãŒã·ã§ã³ãã³ãã¬ãŒãã«åºã¥ããŠããŸãã ããã¥ã¡ã³ãã®å 容ã¯ãã³ã³ããŒãã³ãanalisysã¢ã€ãã ã«è¡šç€ºãããŸãã
Bex Webã«äžæ £ããªäººã®ããã®ããã€ãã®èšèã Webãã³ãã¬ãŒãïŒWebãã©ãŒã ïŒã®æè¡ã¯ãæ¬è³ªçã«ASP.NETã«äŒŒãŠããŸãã ãã¶ã€ããŒã§ãASPïŒdataGridããã¿ã³ãªã©ïŒã«é¡äŒŒããã³ã³ããŒãã³ãã䜿çšããŠãã©ãŒã ã®ã¬ã€ã¢ãŠããäœæããŸãã ãŠã£ã¶ãŒãã䜿çšããŠã€ãã³ããã³ãã©ãŒãã¢ã¿ããããŸãïŒãããã¯ç¹å®ã®ã³ãã³ããŸãã¯ä»»æã®ABAPã³ãŒãã«ããããšãã§ããŸãïŒã Webãã©ãŒã ãå®è¡ãããšããµãŒããŒã§åŠçãããã¯ã©ã€ã¢ã³ãã«ã¯JSä»ãã®HTMLããŒãžãäžããããŸãã ãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãžã®å¿ç-ããŒãžãæŽæ°ããããšãã«ãµãŒããŒåŽã§å®è¡ãããŸãã Webãã³ãã¬ãŒãã³ãŒãã§ã¯ãéåžžãPHPã®ããã«HTMLãçæããå¿ èŠã¯ãããŸããã
Webãã©ãŒã ã§ã¯ããŠãŒã¶ãŒã¯analisysã¢ã€ãã ãæäŸããããŒãã«ã«ããŒã¿ãå ¥åããŸãã å ¥åããããŒã¿ã¯ãã¥ãŒãã«ä¿åãããŸãã ããŒã¿ãå ¥åããåŸããŠãŒã¶ãŒã¯ã¹ããŒã¿ã¹ãå€æŽããå¿ èŠããããŸãïŒããšãã°ããæ°èŠãã¹ããŒã¿ã¹ãããåŠçæžã¿ãã«ïŒããŒã¿ã¹ããŒã¿ã¹ãæ ŒçŽããå±æ§ã®å€ã«åŸã£ãŠåæçš¿æ©èœã䜿çšããŠã¹ããŒã¿ã¹ã転éãããŸãããã®å±æ§ãåããã¥ãŒãã«ãããŸãïŒã
ãã®ãããããŒã¿ãå ¥å/ä¿åããåŸããŠãŒã¶ãŒããã®ããŒã¿ããæ°èŠãã¹ããŒã¿ã¹ãããåŠçæžã¿ãã«è»¢éããåã«ãå ¥åããããŒã¿ã«ããžã¿ã«çœ²åã§çœ²åããå¿ èŠããããŸãïŒããŒã¿ãå ¥åãããŠãŒã¶ãŒã¯çœ²åããå¿ èŠããããŸãïŒã
ãããã¯ãŒã¯æ€çŽ¢ã«ãããEDSã®äœ¿çšã¯ç§ãã¡ãæãã»ã©ç°¡åã§ã¯ãªãããšã瀺ãããŸããã ã»ãšãã©ã®åœã§ã¯ãæå·ä¿è·ã®äœ¿çšãèŠå¶ããç¬èªã®æ³åŸããããŸãã 2002幎1æ10æ¥ã®ãã·ã¢é£éŠé£éŠæ³N1-ãé»åããžã¿ã«çœ²åã«ã€ããŠã
ç¹ã«ãæå·åããã³çœ²åçæã§äœ¿çšãããã¢ã«ãŽãªãºã ã確ç«ãããŸãã ããšãã°ãé»åããžã¿ã«çœ²åãçæããã³æ€èšŒããããã®ã¢ã«ãŽãªãºã GOST R 34.10-2001
ãã¡ããããããã®ã¢ã«ãŽãªãºã ãèªåã§å®è£ ããããšããããšã¯æå³ããªããããåžå Žã§æäŸãããŠãããã®ãæ€èšããŸãã
ããšãã°ãLISSIã®æ±ºå®
http://www.lissi.ru/solution/
圌ãã¯SAPã®çœã銬ã®æäžäž»ãšããŠã®å°äœã確ç«ããŠããããããããã®ãœãããŠã§ã¢ã³ã³ãã¬ãã¯ã¹ã¯300,000ã«ãŒãã«ä»¥äžããããŸãã ãã®ãœãããŠã§ã¢ã¯ãABAPãä»ããŠã¢ã¯ã»ã¹ã§ããSAP補åã®APIã§ãã
åé¡ã¯ããããã®è£œåãABAPã³ãŒãã䜿çšããŠããŒã¿ã«çœ²åããããšã䌎ãããšã§ãã ã¯ã©ã€ã¢ã³ãã«ã¯ãJSãå«ãWebããŒãžã®ã¿ããããŸãã ABAPã³ãŒãã¯ãããšãã°AJAXèŠæ±ã䜿çšããŠããµãŒããŒäžã§ã®ã¿å®è¡ã§ããŸãã ããããåé¡ããããŸã-ãŠãŒã¶ãŒã®ç§å¯éµã¯ã¯ã©ã€ã¢ã³ãã§ã®ã¿å©çšå¯èœã§ãã ãµãŒããŒã«è»¢éããªãã§ãã ããã LISSIãœãªã¥ãŒã·ã§ã³ã¯ãABAPãå®è¡ã§ãããã·ã³ã§ã¯ãªãå®å šãªSAPã¯ã©ã€ã¢ã³ããšããŠã¯ã©ã€ã¢ã³ããã·ã³ã§äœæ¥ããããšãæå³ããŸãã
ãããã£ãŠãæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ãæåŠããCAPICOM CAPICOMãä»ããŠEDSãå®è£ ããŸãã
EDSã®å®è£
EDSã®å®è£ æ¹æ³ã«ã€ããŠèª¬æããŸãã
1 EDSãé©çšããæé
1ïŒã»ãã¥ãªãã£ç®¡çè ã¯ã蚌ææžã蚌ææžããŒã¿ããŒã¹ã«ç»é²ããŸãã 蚌ææžã¯ãæ¬ç©ã®èªèšŒæ©é¢ããååŸããå¿ èŠããããŸãã
2ïŒãŠãŒã¶ãŒã¯ã·ã¹ãã ã§äœæ¥ããããã¥ã¡ã³ããäœæããå€éšã¡ãã£ã¢äžã®ç§å¯ããŒã䜿çšããŠçœ²åããŸãã ãã®å ŽåïŒ
aïŒããã¥ã¡ã³ãã®ããã£ã¹ãããäœæãããŸãïŒãã¹ãŠã®ã³ã³ãã³ããéžæãããŸãïŒã
bïŒã³ã³ãã³ãã«å¯ŸããŠæå·çœ²åæäœãå®è¡ããããã®çµæã眲åãååŸãããŸãã
cïŒæçŽã¯çœ²åè ã®èšŒææžããæœåºããããã®ãŠãŒã¶ãŒã«ç»é²ãããŠããæçŽãšæ¯èŒãããŸãã äžèŽããå Žåã眲åã¯ããŒã¿ããŒã¹ã«ä¿åãããŸãããã以å€ã®å Žåã眲åã¯ãã£ã³ã»ã«ãããŸãã
3ïŒããã¥ã¡ã³ãã®ä»¥éã®ã¹ãã£ã³ã§ã¯ãããã¥ã¡ã³ããéããšãã«çœ²åãæ€èšŒãããŸãã 眲åã¯ããŒã¿ããŒã¹ããæœåºãããŸãã 眲åã®æ€èšŒã®æå·æäœã¯ã眲åãšããã¥ã¡ã³ãã®ã³ã³ãã³ãã«å¯ŸããŠå®è¡ãããŸãã
4ïŒã»ãã¥ãªãã£ç®¡çè ã¯ã蚌ææžããŒã¿ããŒã¹ã«ãŠãŒã¶ãŒèšŒææžãè¿œå ããäžæçãŸãã¯æ°žä¹ çã«æäœãäžæåæ¢ã§ããŸãã
2ããŒã¿ã¹ãã¬ãŒãžã®å®è£
眲åã¯ãã©ããããŒãã«ã眲åãã«ä¿åãããŸãã

蚌ææžããŒã¹-2ã€ã®ãã©ããããŒãã«ã®ã»ããïŒ

ããŒã¯èšŒææžãã®ãã®ã§ãã ããŒãã«ã«ã¯ãããŒã«æ¥ç¶ãããŠãããŠãŒã¶ãŒãããŒã®éå§æ¥ãšçµäºæ¥ãããŒèªäœãã¹ããŒã¿ã¹ïŒãããã¯ãããŠãããã©ããïŒã説æãä¿åãããŸãã
äžæåæ¢-ããŒã®äžæåæ¢ã®ã»ããã éå§æ¥ãçµäºæ¥ãããã³åæ¢ã®èª¬æãä¿åããŸãã äžæãããããŒã®IDãä¿åããŸãã
3ããžã¿ã«çœ²åã·ã¹ãã ã¢ãŒããã¯ãã£
ããžã¿ã«çœ²åã¡ã«ããºã ã¯ã次ã®ã³ã³ããŒãã³ãã«åºã¥ããŠããŸãã
1ïŒæå·åAPIã«ã¢ã¯ã»ã¹ããããã®ActiveXã³ã³ããŒãã³ãã ïŒCAPICOMïŒ
2ïŒJSã䜿çšããŠãããã¥ã¡ã³ãã®ã³ã³ãã³ããååŸããŸã
3ïŒActiveXã³ã³ããŒãã³ãã®ã¡ãœãããåŒã³åºããŠããŒã¿ã«çœ²åããã
4ïŒçœ²åããŒã¿ããŒã¹ã«çœ²åããããã«ã眲åããµãŒããŒïŒABAPã¯ã©ã¹ïŒã«éä¿¡ããŸãã

CAPICOMã¯ãæå·åãããã€ããŒãžã®ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããMSã®ã©ã€ãã©ãªã§ãã
1-JSã³ãŒãã䜿çšããŠãCAPICOMã©ã€ãã©ãªãŒã®åŒã³åºããè¡ãããŸã
2-Webãã³ãã¬ãŒãã¯çœ²åçšã®ããŒã¿ãçæããŸãïŒDataProviderãèšè¿°ããXMLïŒã
3-åä¿¡ãã眲åã¯AJAXãä»ããŠABAPã¯ã©ã¹ã«è»¢éãããABAPã¯ã©ã¹ã¯çœ²åããã©ããããŒãã«ã«ä¿åããŸãã
4-æå·ãããã€ããŒãšeTokenã®çžäºäœçšã¯èªåçã«çºçããŸãã
4 APIã®å®è£

眲åè ã¯ã©ã¹-ã«ã¹ã¿ã ã¡ãœãããå®è£ ããŸã-
眲åã眲åã®ç¢ºèªãææ°ã®çœ²åã®ååŸ
CryptoProviderã¯ã©ã¹ã¯Capicomã®ã©ãããŒã§ãã
ZCL_AJAX_DIG_SIGN-Ajaxãä»ããã€ã³ã¿ãŒãã§ãŒã¹ã¡ãœããã®å®è£ ã
Z_DIGITAL_SIGNER-眲åãä¿åããã³æ€çŽ¢ããããã®ã¡ãœãããå ¬ééµã®æå¹æ§ãéµããŒã¿ããŒã¹ã«å¯ŸããŠæ€èšŒããããã®ã¡ãœããã®å®è£ ã
5ãªãã·ã§ã³ã®å£é 説æ
ææžã«çœ²å/ãã§ãã¯ããæé ãæ€èšããŠãã ããã
ãŠãŒã¶ãŒããã©ãŒã äžã§ãããã¥ã¡ã³ãã®æ¿èªïŒä¿åïŒããã¿ã³ãæŒããŸãã JSã¯ã以åã«ã¢ããããŒããããããã¥ã¡ã³ãã³ã³ãã³ããhtmlãã³ãã¬ãŒãã³ãŒãã§åéããŸãã CAPICOMã«ç§»ããŸããCAPICOMã¯ãæ£ãã蚌ææžãéžæããããã«äººã«æ±ããŸãã ã·ã¹ãã -CAPICOMã§ã®äœæ¥å°çšã«cryptoProçšã«äœæããã蚌ææžãéžæããå Žåã¯ãCryptoProãããã€ããŒã«é£çµ¡ããŠãã ãããåããããã€ããŒãç§å¯éµä»ãã®ããŒã¯ã³ãèŠæ±ããŸãã ããŒã¯ã³ãæ¿å ¥ããããšãããã¥ã¡ã³ãã®ã³ã³ãã³ãã眲åãããŸãã AJAX眲åã¯BSPã¢ããªã±ãŒã·ã§ã³ã«ã¹ããŒããã眲åãã€ã³ã¿ãŒãã§ã€ã¹ã¯ã©ã¹Z_DIGITAL_SIGNERã«æž¡ããŸãã ã¯ã©ã¹ã¯ã眲åãã蚌ææžãæ€èšŒããŸãããã®ãããªèšŒææžã¯ããã®ãã°ã€ã³ãŠãŒã¶ãŒã«é¢é£ä»ããããŠãããšããäºå®ã§ãã æ€èšŒãæåãããšã眲åããŒã¿ããŒã¹ã«çœ²åãèšé²ãããŸãã ãã©ãŒã ã§å€æŽãçºçããŸããæåãã眲åã«é¢ããããŒã¯ã衚瀺ãããŸãã
å¥ã®ãŠãŒã¶ãŒãããã¥ã¡ã³ããéããšã眲åã¹ããŒã¿ã¹ã衚瀺ãããŸãã ããã¯æ¬¡ã®ããã«çºçããŸãã AJAXã®JSã¯ãããã¥ã¡ã³ãã®çœ²åãèŠæ±ãã眲åãåãåããŸãïŒäºåã«-é©åãªäººã«ãã£ãŠäœæããã眲åã¯èš±å¯ããã蚌ææžã®ããŒã¿ããŒã¹ããã®èšŒææžã«ãã£ãŠäœæãããŸãïŒã 次ã«ãjsã¯CAPICOMãã€ã³ã¯ããŸããããã¯ãã眲åãããã³ãããã¥ã¡ã³ãã³ã³ãã³ãããã©ã¡ãŒã¿ãŒã䜿çšããã眲åæ€èšŒãã¡ãœããã§ãã ãã¹ãŠãããã¥ã¡ã³ããšçœ²åã®é ã§ããå Žå-ã¡ãœããã¯trueãè¿ããããããã¥ã¡ã³ãã¯çœ²åãããŠãããæ£ããã§ãã
ã»ãã¥ãªãã£ç®¡çè åãã®GUIããããŸã-ã¢ã¯ãã£ããªèšŒææžã®ããŒã¿ããŒã¹ãç¶æããŸãã
EDSãWebãã³ãã¬ãŒãã«æ¥ç¶ãã
1ïŒããšãã°ãXHTML Webãã³ãã¬ãŒãActiveXã®CAPICOMã³ã³ããŒãã³ããæ¥ç¶ãã
<object id="CapicomObj" codebase="bwmimerep:///sap/bw/mime/Customer/JS/bin/capicom.cab" classid="clsid:A996E48C-D3DC-4244-89F7-AFA33EC60679" VIEWASTEXT="" />
2ïŒã¡ã€ã³ã¯ãšãªãšåãã¯ãšãªã§æ°ããããŒã¿ãããã€ããäœæããŸãã ã€ãŸãããããã€ããŒã®ã³ããŒãäœæããŸãã ãããã£ãŠãããŠã³ããŒãããããã¥ã¡ã³ããHTMLã§ååŸãã眲åããŸãã ãŠãŒã¶ãŒã®ããŒãã«ã«ããã¥ã¡ã³ãã衚瀺ãããããã€ããŒã«çœ²åããããšã¯ã§ããŸããããªããªããããŒãã«ã䞊ã¹æ¿ããããã£ã«ã¿ãŒããããããšããããã€ããŒã®ããŒã¿ãå€æŽãããåæãã©ãŒã ã®ããã¥ã¡ã³ããå¿ èŠã«ãªãããã§ãã
3ïŒãããŒã¿ãããã€ããŒæ å ±ãã³ã³ããŒãã³ãããã©ãŒã ã«é 眮ããŸãã
DATA_PROVIDER_TO_SIGNãšåŒã³ãŸãããã

éè²ã®ãã®ã¯ãããŒã¿ãããã€ããŒæ å ±ãã³ã³ããŒãã³ããèµ€è²ã®ãã®ã¯ã³ã³ããŒãã³ããã¬ããã«ãããé»è²ã®ãã®ã¯ããã¥ã¡ã³ãã³ã³ãã³ããé ä¿¡ããããŒã¿ãããã€ããŒã§ãã
4ïŒèšå®ã§DATA_PROVIDER_TO_SIGNã瀺ããŸãïŒ
ããŒã¿ãããã€ããŒïŒæé 2ã§äœæãããããã€ããŒã®ã³ããŒãæå®ããŸãã
ããã²ãŒã·ã§ã³ã¹ããŒã¿ã¹-åºåïŒãªã
ã¬ããŒãããŒã¿ïŒåºåïŒãªã³
5ïŒãã©ãŒã ã«ã³ãŒããé 眮ããŸã
ããã¯ãã¹ãŠããªãã®æ³ååã«ããã£ãŠããŸãã AJAXãABAPãJavaScriptãå«ããã¹ãŠã®ã³ãŒããæçš¿ããããã§ã¯ãããŸãããMicrosoftWebãµã€ãã®äŸã«åºã¥ããŠäœæããCAPICOMã®åçŽãªã©ãããŒã®ã¿ãæ®ããŸãã
ããŒã¹ããã³ã³ãŒã
ãããŠããã®äœ¿çšäŸ
眲å
SignerProv = new CryptoProvider(this.CapicomObj); if (SignerProv.IsCAPICOMInstalled()) { SignerProv.Init(); Sign = SignerProv.SignedData(DataToSign); }
眲åæ€èšŒ
SignerProv = new CryptoProvider(this.CapicomObj); SignerProv.VerifySert = true;//false â if (SignerProv.IsCAPICOMInstalled()) { var SRes = SignerProv.VerifySig(ContentToVerif, SignToVerify); }