|
JCaosLib V1.4.4.0 |
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Class Summary | |
IVSReqMsgGenerator | Çà¾ÈºÎ ÀÎÁõü°è(GPKI)¿¡¼ Á¦°øÇÏ´Â ÅëÇÕ°ËÁõ¼¹ö¿¡ ÀÎÁõ¼ °ËÁõ ¶Ç´Â º»ÀÎ È®ÀÎÀ» À§ÇÑ ¿äû ¸Þ½ÃÁö »ý¼ºÇϱâÀ§ÇÑ Å¬·¡½ºÀÌ´Ù. |
IVSResMsg | ÅëÇÕ °ËÁõ ¼¹ö¿¡¼ º¸³»¿Â ÀÀ´ä ¸Þ½ÃÁö¸¦ ó¸®ÇÏ°í ¿äû °á°ú¸¦ È®ÀÎÇϱâ À§ÇÑ Å¬·¡½ºÀÌ´Ù. |
Çà¾ÈºÎ ÀÎÁõü°è(GPKI)¿¡¼ Á¦°øÇÏ´Â ÅëÇÕ°ËÁõ¼¹ö¸¦ ÅëÇÏ¿© ÀÎÁõ¼ °ËÁõ, º»ÀÎÈ®ÀÎ ¼ºñ½º¸¦ ÀÌ¿ëÇϱâ À§ÇÑ Å¬·¡½º¸¦ Á¦°øÇÑ´Ù.
* »ç¿ë ¿¹Á¦ *
// 1) ÅëÇÕ °ËÁõ ¼¹ö¸¦ ÀÌ¿ëÇÑ ÀÎÁõ¼ °ËÁõ static public void verifyCert() { try { // ¿äûÀÚ ÀÎÁõ¼ Àбâ X509Certificate myCert = X509Certificate.getInstance( FileUtil.read("./Data/Cert/VerifyByIVS/MyCert.der")); // °ËÁõÇÒ ÀÎÁõ¼ Àбâ X509Certificate targetCert = X509Certificate.getInstance( FileUtil.read("./Data/Cert/VerifyByIVS/GPKI_UserCert.der")); // ¿äû ¸Þ½ÃÁö »ý¼º IVSReqMsgGenerator ivsReqMsg = new IVSReqMsgGenerator(myCert); byte[] reqMsg = ivsReqMsg.generate(targetCert); // ¿äû ¸Þ½ÃÁö Àü¼Û ¹× ÀÀ´ä ¸Þ½ÃÁö ¼ö½Å IVSP ivsp = new IVSP(); ivsp.connect("ivs.gpki.go.kr", 8080); IVSResMsg ivsResMsg = ivsp.sendAndRecv(reqMsg); // ÅëÇÕ°ËÁõ¼¹öÀÇ ¼¸í¿ë ÀÎÁõ¼ ȹµæ X509Certificate svrSignCert = downloadCert( "ldap://cen.dir.go.kr:389/cn=IVS1310386001,ou=GPKI,o=Government of Korea,c=KR", "signcertificate"); // ÀÀ´ä ¸Þ½ÃÁö °ËÁõ int code = ivsResMsg.process(ivsReqMsg.getNonce(), svrSignCert); if (code != 0) { System.out.println("verifyFailed[" + code + "] = " + ivsResMsg.getDescreption()); return; } } catch (Exception e) { e.printStackTrace(); } } // 2) ÅëÇÕ °ËÁõ ¼¹ö¸¦ ÀÌ¿ëÇÑ º»ÀÎ È®ÀÎ static public void identifyUser() { try { // ¿äûÀÚ ÀÎÁõ¼ Àбâ X509Certificate myCert = X509Certificate.getInstance( FileUtil.read("./Data/Cert/IdentifyByIVS/MyCert.der")); // º»ÀÎÈ®ÀÎÇÒ ÀÎÁõ¼ Àбâ X509Certificate targetCert = X509Certificate.getInstance( FileUtil.read("./Data/Cert/IdentifyByIVS/cert.der")); // ÅëÇÕ °ËÁõ¼¹öÀÇ Å°ºÐ¹è¿ë ÀÎÁõ¼ ȹµæ X509Certificate svrKmCert = downloadCert( "ldap://cen.dir.go.kr:389/cn=IVS1310386001,ou=GPKI,o=Government of Korea,c=KR", "usercertificate"); // ¿äû ¸Þ½ÃÁö »ý¼º IVSReqMsgGenerator ivsReqMsg = new IVSReqMsgGenerator(myCert); ivsReqMsg.setSvrCert(svrKmCert); byte[] reqMsg = ivsReqMsg.generate("7777770000002", targetCert); // ÅëÇÕ°ËÁõ¼¹ö¿¡ ¿äû ¸Þ½ÃÁö Àü¼Û ¹× ÀÀ´ä ¸Þ½ÃÁö ¼ö½Å IVSP ivsp = new IVSP(); ivsp.connect("ivs.gpki.go.kr", 8080); IVSResMsg ivsResMsg = ivsp.sendAndRecv(reqMsg); // ÅëÇÕ°ËÁõ¼¹öÀÇ ¼¸í¿ë ÀÎÁõ¼ ȹµæ X509Certificate svrSignCert = downloadCert( "ldap://cen.dir.go.kr:389/cn=IVS1310386001,ou=GPKI,o=Government of Korea,c=KR", "signcertificate"); // ÀÀ´ä ¸Þ½ÃÁö °ËÁõ int code = ivsResMsg.verify(ivsReqMsg.getNonce(), svrSignCert); if (code != 0) { System.out.println("verifyFailed[" + code + "] = " + ivsResMsg.getDescreption()); return; } } catch (Exception e) { e.printStackTrace(); } } // ÀÎÁõ¼ ´Ù¿î·Îµå static X509Certificate downloadCert(String url, String attribute) throws NamingException, IOException { URLParser urlParser = new URLParser(url); LDAP ldap = new LDAP(); ldap.connect(urlParser.getIP(), urlParser.getPort()); ldap.search(urlParser.getURI(), attribute); ArrayList objs = ldap.getObject(); ldap.close(); return X509Certificate.getInstance((byte[])objs.get(0)); }
|
JCaosLib V1.4.4.0 |
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |