===== PKIWizSign ===== ==== 설명 ==== * 공개키 기반 응용 프로그램에서 사용하는 PKI 기반 기능들을 제공한다. ==== 제약사항 ==== * **iOS**에서만 올레 인증서 관련 함수를 이용할 수 있다. ==== 환경 설정 ==== === Android === * app/res/xml/plugins.xml === iOS === * App/Supporting Files/Cordova.plist Plugins WizSignPG WizSignPG ==== 관련 함수 ==== === WizSignPG.doSignature === * 전자 서명 기능을 제공한다. WizSignPG.doSignature(info, success, fail); * 파라미터 ^유형^설명^비고^ |info|인증서의 정보 요청| | |success|성공 시, 수행되는 함수| | |fail|실패 시, 수행되는 함수| | * Sample Code var args = new Array(); args[0] = selectCertNum.toString() ; args[1] = '1'; args[2] = stringToSign; WizSignPG.doSignature(args, function(result) { var signedData = result['signedData']; // 서명데이터 }, function(error) { alert(error['errMsg']); // 에러메시지 }); === getCertificates === * 저장된 인증서목록을 가져와 반환한다. WizSignPG.getCertificates("", success, fail) * 파라미터 ^유형^설명^비고^ |success|성공 시, 수행되는 함수| | |fail|실패 시, 수행되는 함수| | * 인증서 정보 * jsonString ^속성^내용^속성^내용^ |NUM|인증서 번호|버전|인증서 버전| |일련번호|인증서 시리얼번호|서명알고리즘|인증서 서명알고리즘| |발급자|인증서의 발급자 정보|효력발생일|인증서의 효력 발생일| |만료일|인증서 만료일|주체자|인증서 주체자 정보| |공개키 알고리즘|인증서 공개키 알고리즘|공개키|공개 키값| |기관키식별자|기관키식별자|주체자식별자|주체자식별자| |정책|정책|주체대체이름|주체대체이름| |CRL분배지점|CRL분배지점|기관정보액세스|기관정보액세스(OCSP)| |키사용|키사용용도|서명|인증서 서명값| * Sample Code WizSignPG.getCertificates("", function(result) { var certList = result['Certificates']; for(var i=0 ; i === verifyCertPassword === * 선택한 인증서의 비밀번호를 검증한다. WizSignPG.verifyCertPassword(array, success, fail); * 파라미터 ^유형^설명^비고^ |array | 패스워드, 인증서 인덱스| |success |성공 시, 수행되는 함수| | |fail |실패 시, 수행되는 함수| | * Sample Code var args = new Array(); args[0] = certNum.toString(); args[1] = certPass; WizSignPG.verifyCertPassword(args, function(result) { var runResult = result['result']; if(runResult == 'OK') { alert('인증서 비밀번호가 일치합니다.'); } }, function(error) { alert(error['errMsg']); }); ==== 올레 인증서 관련함수 ==== * **iOS**에서만 관련 함수를 이용할 수 있다. === WizSignPG.runShowApp === * KISA Show앱에서 인증서를 가져오기 위해 ShowApp앱을 실행한다. WizSignPG.runShowApp(args, success, fail); * 파라미터 ^유형^설명^비고^ |success |성공 시, 수행되는 함수 | | |fail |실패 시, 수행되는 함수 | | * Sample Code var args = new Array(); args[0] = 'PhoneGapTest'; args[1] = '01'; WizSignPG.runShowApp(args, function(result) { var runResult = result['result']; // runResult == 'OK' -> 실행성공 }, function(error) { alert(error['errMsg']); }); === WizSignPG.importPKCS12 === * PKCS#12데이터를 인증서로 변환하여 저장한다. * PKCS#12 데이터(base64 encoded), 인증서 비밀번호, 새로운 인증서 비밀번호를 입력받는다. WizSignPG.importPKCS12(args, success, fail); * 파라미터 ^유형^설명^비고^ |success |성공 시, 수행되는 함수 | | |fail |실패 시, 수행되는 함수 | | * Sample Code var args = new Array(); args[0] = strP12; args[1] = certPass; args[2] = newPass; WizSignPG.importPKCS12(args, function(result) { var runResult = result['result']; var certInfo = result['Certificate']; if(runResult == 'OK') { alert('[' + certInfo['주체자'] + '] 인증서가 생성되었습니다.1') } }, function(error) { alert(error['errMsg']); }); === callback_kisaShowApp === * KISA showApp으로부터 받은 데이터를 처리하여 PKCS#12데이터를 반환한다. callback_kisaShowApp(server); * Sample Code // PhoneGap 페이지에 기본으로 제공되어지는 Server CallBak Function function handleOpen(server) { g_p12cert = callback_kisaShowApp(server); } ==== 참고 자료 ==== N/A