목차

MagicXSign NPKI API

개요

MagicXSign은 PhoneGap Plugin을 사용하여 Android, iPhone 에서 드림시큐리티 MagicXsign 과 MagicMRS를 사용하기 위한 라이브러리 입니다.

특징

전제조건

구분내용
테스트 디바이스 Galaxy S2
테스트 플랫폼 Android 2.3.6

NPKI MagicXSign Library

파일명설명
libs/MagicMRS.jar MagicXSign 라이브러리
libs/MagicXSign.jar MagicXSign 라이브러리
libs/XSIGN_PhoneGapPlugin.jar MagicXSign PhoneGap Plugin Class 라이브러리
libs/armeabi/libDSToolkitV30Jni.so MagicXSign 라이브러리
libs/armeabi/libMagicMRSPhone.so MagicXSign 라이브러리
assets/www/js/egovframework/mbl/hyb/MagicXSign.js MagicXSign PhoneGap Plugin JavaScript

res/xml/plgins.xml 설정

<plugin name="MagicXSignPlugin" value="com.dreamsecurity.magicxsign.PhoneGapPlugin" />

API Doc

MagicXSign(PKI) 함수

인증서 서명 / 서명 검증 프로세스

인증서검증방법제품명
CRL(Certificate Revocation List)일종의 블랙리스트 방식
CA가 인증서 폐기 목록을 특정 시간에 생성하게 되므로 실제 인증서의 상태와 폐기 목록상의 상태가 틀린 경우가 발생
무료 서비스
OCSP(Online Cerificate Status Protocol)실시간으로 상태를 확인 가능
유료 서비스
특정 CA와 사용 계약을 맺어서 사용
특정 CA에서 OCSP 용 인증서를 발급, 1년마다 갱신
window.plugins.magicxsign.init
window.plugins.magicxsign.init(var Flag)
Option설명비고
FlagMagicXSign Debug 출력 여부true:디버그 출력, false:디버그 출력 안함
window.plugins.magicxsign.init("false");
window.plugins.magicxsign.init("true");
window.plugins.magicxsign.getcertlist
window.plugins.magicxsign.getcertlist( success return , fail return, jsonString);
Option설명비고
success return성공시 리턴되는 함수
fail return실패시 리턴되는 함수
jsonString인증서의 정보 요청
jsonString
속성내용속성내용
issuer인증서 발급 기관name사용자이름
ver버전sn일련번호
issuedn발급자start만료일(시작)
end만료일(끝)subjdn주체자
pubkeyalgo공개키 알고리즘pubkey공개키
aia기관 정보 접근aki발급자 키식별자
ski주체자 키식별자keyuse키사용
policy정책policyid정책 ID
subaltname주체 대채이름crlCRL 위치
var setDefine = ["oidname","issuer","name","subjdn","start","end"];
window.plugins.magicxsign.getcertlist(getcertlistSuccess, getcertlistFail, JSON.stringify(setDefine));
window.plugins.magicxsign.certdel
window.plugins.magicxsign.certdel(success return, fail return, Cert Index);
Option설명비고
success return성공시 리턴되는 함수
fail return실패시 리턴되는 함수
Cert Index인증서 Index(0 부터 시작)window.plugins.magicxsign.getcertlist 호출에 대한 결과 index 값
window.plugins.magicxsign.certdel(certdelSuccess, certdelFail, 0);
window.plugins.magicxsign.certchagepassword
window.plugins.magicxsing.certchagepassword(success return, fail return, jsonString);
Option설명비고
success return성공시 리턴되는 함수
fail return실패시 리턴되는 함수
jsonString인증서 Index, 구/신 비밀번호를 jsonString 전달
var setDefine = {};
setDefine["certindex"] = iCertIndex;	//선택된 인증서 index
setDefine["oldpassword"] = oldpassword;	//선택된 인증서 Password
setDefine["newpassword"] = newpassword;	//신규 인증서 Password
window.plugins.magicxsing.certchagepassword(certchagepasswordSuccess, certchagepasswordFail, JSON.stringify(setDefine));
window.plugins.magicxsign.makesign
window.plugins.magicxsing.makesign(success return, fail return, jsonString);
Option설명비고
success return성공시 리턴되는 함수
fail return실패시 리턴되는 함수
jsonString인증서 Index, 구/신 비밀번호를 jsonString 전달
var setDefine = {};
setDefine["plaintext"] = encodeURIComplnent(MagicXSign_makeQueryString(form)));
setDefine["uri"] = sURI;
setDefine["certindex"] = document.getElementById("xsigncertindex").value;
setDefine["certpassword"] = document.getElementById("xsigncertpassword").value;
window.plugins.magicxsign.makesign(makesign_ok, makesign_fail, JSON.stringify(setDefine));

MagicMRS(인증서이동) API

PC의 인증서를 스마트폰으로 옮기는 서비스

인증서 이동 흐름도

window.plugins.magicxsign.mrs_makecode
window.plugins.magicxsign.mrs_makecode(success return, fail return, jsonString);
Option설명비고
success return성공시 리턴되는 함수
fail return실패시 리턴되는 함수
jsonStringphoneno, serverip, serverport, serviceid 형태의 Json String
var setDefine = {};
setDefine["phoneno"] = "123456789";
setDefine["serverip"] = "125.141.204.173";
setDefine["serverport"] = "10001";
setDefine["serviceid"] = "dreamAPP";
window.plugins.magicxsign.makesign(makesign_ok, makesign_fail, JSON.stringify(setDefine));
window.plugins.magicxsign.mrs_waitcert
window.plugins.magicxsign.mrs_makecode(success return, fail return, jsonString);
Option설명비고
success return성공시 리턴되는 함수
fail return실패시 리턴되는 함수
jsonString얻어온 인증서의 정보 보기용certlist 함수 참조
var setDefine = ["oidname","issuer","name","subjdn","start","end"]
window.plugins.magicxsign.mrs_waitcert(getcertlistSuccess, getcertlistFail, JSON.stringify(setDefine));
window.plugins.magicxsign.mrs_stopcertmove
window.plugins.magicxsign.mrs_stopcertmove();