목차

XecureSmart NPKI API

개요

[XecureSmart] eGovFrame javascript Interface 는 폰갭 인터페이스를 이용하여 모바일에서 NPKI 서비스를 제공한다.

API 리스트

함수명설명
void XecureSmartPlugin.blockDecEx ( successCB, failCB, cipherText ) 암호문 텍스트를 복호화한다.
void XecureSmartPlugin.blockDec ( successCB, failCB, path, plainText, method ) 평문 텍스트를 암호화한다.
void XecureSmartPlugin.changeCertPassword ( successCB, failCB, issuerDN, serial, oldPassword, newPassword ) 인증서의 암호를 변경한다.
void XecureSmartPlugin.deEnvelopeDataWithCert ( successCB, failCB, envelopeText, issuerDN, serial, password ) 인증서로 전자봉투한 전자봉투 텍스트를 복호화한다.
void XecureSmartPlugin.deEnvelopeDataWithPassword ( successCB, failCB, envelopeText, password ) 패스워드로 전자봉투한 전자봉투 텍스트를 복호화한다.
void XecureSmartPlugin.deleteCertificate ( successCB, failCB, issuerDN, serial ) 인증서를 삭제한다.
void XecureSmartPlugin.envelopeDataWithCert ( successCB, failCB, plainText, issuerDN, serial ) 평문 텍스트를 인증서로 전자봉투한다.
void XecureSmartPlugin.envelopeDataWithPassword ( successCB, failCB, plainText, password ) 평문 텍스트를 암호로 전자봉투한다.
void XecureSmartPlugin.envelopeDataWithPEM ( successCB, failCB, plainText, pem ) 평문 텍스트를 PEM 인증서로 전자봉투한다.
void XecureSmartPlugin.getCertTree ( successCB , failCB , certType , searchType , contentLevel , searchValue , searchSerial ) 장치의 인증서 목록을 가져온다.
void XecureSmartPlugin.getEnvelopeCertInfo ( successCB , failCB , envelopeText ) 전자봉투 텍스트의 인증서 정보를 가져온다.
void XecureSmartPlugin.getEnvelopeType ( successCB , failCB , envelopeText ) 전자봉투 텍스트의 타입을 가져온다.
void XecureSmartPlugin.getVIDInfo ( successCB , failCB ) 식별번호 검증 시 전자서명 후에 VID를 가져온다.
void XecureSmartPlugin.keySharpGetConfirmNumber ( successCB , failCB, ssn ) 키샵에서 인증번호를 가져온다.
void XecureSmartPlugin.keySharpSaveCert ( successCB , failCB ) 키샾에서 받아온 인증서를 저장한다.
void XecureSmartPlugin.renewCertificate ( successCB, failCB, caCode, issuerDN, serial, oldPassword, newPassword ) CA로부터 인증서를 갱신받는다.
void XecureSmartPlugin.requestCertificate ( successCB, failCB, caCode, refNum, authCode, password ) CA로부터 인증서를 발급받는다.
void XecureSmartPlugin.revokeCertificate ( successCB, failCB, caCode, issuerDN, serial, password, jobCode, reason ) CA로부터 인증서를 폐기한다.
void XecureSmartPlugin.setIDNum ( successCB, failCB, idn ) 식별번호 검증 시 전자서명 전에 식별번호를 입력한다.
void XecureSmartPlugin.signDataAdd ( successCB , failCB , issuerDN , serial , password , plainText ) 전자서명문에 전자서명을 추가한다.
void XecureSmartPlugin.signDataCMS ( successCB , failCB , issuerDN , serial , password , plainText ) 평문 텍스트를 전자서명한다.
void XecureSmartPlugin.verifyCertPassword ( successCB , failCB , issuerDN , serial , password ) 인증서의 암호를 검증한다.
변수명설명
var xgateAddressxgate 서버 주소
var keySharpIP키샵에서 사용할 IP
var keySharpPort키샵에서 사용하는 port

전제조건

구분내용
테스트 디바이스 iPhone 4
테스트 플랫폼 iOS 5.1

NPKI XecureSmart Library

파일명설명
Plugins/XSPlugin.h XecureSmart 라이브러리
Plugins/XSPlugin.mm XecureSmart 라이브러리
Plugins/XSCopyCertificateInterface.h XecureSmart 라이브러리
Plugins/XSCopyCertificateInterface.mm XecureSmart 라이브러리
lib/libKeySharpiPhone.a XecureSmart 라이브러리
lib/XecureSmartPG.h XecureSmart 라이브러리
lib/XWUIErrorCode.h XecureSmart 라이브러리
www/js/egovframework/mbl/hyb/XSCore.js XecureSmart PhoneGap Plugin JavaScript
src/com.softforum.xecure.XApplication.java XecureSmart 메인 Activity Class
src/com.softforum.xecure.util.EnvironmentConfig.java XecureSmart 설정 Class

Cordova.plist 설정

	<key>Plugins</key>
	<dict>
		<key>XSPGPlugin</key>
		<string>XSPlugin</string>
	</dict>

API Doc

XecureSmartPlugin.blockDecEx
void XecureSmartPlugin.blockDecEx ( successCB, failCB, cipherText )
Option설명비고
successCB성공시 콜백함수(out)평문 텍스트
failCB실패시 콜백함수(out)에러코드$에러메시지
cipherText암호문(in)
XecureSmartPlugin.blockDec
void XecureSmartPlugin.blockDec ( successCB, failCB, path, plainText, method )
Option설명비고
successCB성공시 콜백함수(out)암호문 텍스트
failCB실패시 콜백함수(out)에러코드$에러메시지
path점속할 페이지 URI(in)
plainText평문(in)
method접속방식(in)GET : 보안세션 갱신
POST : 보안세션 갱신안함
RESET : 보안세션 갱신(direct port로 재연결)
XecureSmartPlugin.changeCertPassword
void XecureSmartPlugin.changeCertPassword ( successCB, failCB, issuerDN, serial, oldPassword, newPassword )
Option설명비고
successCB 성공시 콜백함수 (out)0
failCB 실패시 콜백함수 (out)에러코드$에러메시지
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
oldPassword 인증서의 이전암호 (in)
newPassword 인증서의 새 암호 (in)
XecureSmartPlugin.deEnvelopeDataWithCert
void XecureSmartPlugin.deEnvelopeDataWithCert ( successCB, failCB, envelopeText, issuerDN, serial, password )
Option설명비고
successCB 성공시 콜백함수 (out)평문
failCB 실패시 콜백함수 (out)에러코드$에러메시지
envelopeText 전자봉투 텍스트 (in)
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
password 인증서의 암호 (in)
XecureSmartPlugin.deEnvelopeDataWithPassword
void XecureSmartPlugin.deEnvelopeDataWithPassword ( successCB, failCB, envelopeText, password )
Option설명비고
successCB 성공시 콜백함수 (out)평문
failCB 실패시 콜백함수 (out)에러코드$에러메시지
envelopeText 전자봉투 텍스트 (in)
password 암호 (in)
XecureSmartPlugin.deleteCertificate
void XecureSmartPlugin.deleteCertificate ( successCB, failCB, issuerDN, serial  )
Option설명비고
successCB 성공시 콜백함수 (out)0
failCB 실패시 콜백함수 (out)에러코드$에러메시지
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
XecureSmartPlugin.envelopeDataWithCert
void XecureSmartPlugin.envelopeDataWithCert ( successCB, failCB, plainText, issuerDN, serial  )
Option설명비고
successCB 성공시 콜백함수 (out)전자봉투 텍스트
failCB 실패시 콜백함수 (out)에러코드$에러메시지
plainText 평문 (in)
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
XecureSmartPlugin.envelopeDataWithPassword
void XecureSmartPlugin.envelopeDataWithPassword ( successCB, failCB, plainText, password )
Option설명비고
successCB 성공시 콜백함수 (out)전자봉투 텍스트
failCB 실패시 콜백함수 (out)에러코드$에러메시지
plainText 평문 (in)
password 암호 (in)
XecureSmartPlugin.envelopeDataWithPEM
void XecureSmartPlugin.envelopeDataWithPEM ( successCB, failCB, plainText, pem )
Option설명비고
successCB 성공시 콜백함수 (out)전자봉투 텍스트
failCB 실패시 콜백함수 (out)에러코드$에러메시지
plainText 평문 (in)
pem PEM타입 인증서 (in)
XecureSmartPlugin.getCertTree
void XecureSmartPlugin.getCertTree ( successCB , failCB , certType , searchType , contentLevel , searchValue , searchSerial )
Option설명비고
successCB성공 시 콜백함수(out)contentLevel : 0(자세한 정보), contentLevel : 5(간략한 정보)
failCB실패 시 콜백함수(out)에러코드$에러메세지
certType타입(in)0:루트인증서,1:CA인증서,2:사용자인증서,3:전체인증서
searchType검색조건(in)0:검색하지않음
10:subjectDN의 CN과 일치
11:subjectDN의 OU와 일치
12:subjectDN의 O와 일치
13:subjectDN의 C와 일치
14:subjectDN과 일치
20:issuerDN의 CN과 일치
21:issuerDN의 OU과 일치
22:issuerDN의 O와 일치
23:issuerDN의 C와 일치
24:issuerDN과 일치
contentLevel결과값의 레벨(in)0:자세한 정보,5:간략한 정보
searchValue검색값(in)
searchSerial검색할 일련 번호(in)
XecureSmartPlugin.getEnvelopeCertInfo
void XecureSmartPlugin.getEnvelopeCertInfo ( successCB , failCB , envelopeText )
Option설명비고
successCB 성공 시 콜백함수 (out)발급자$일련 번호
failCB 실패 시 콜백함수 (out)에러코드$에러메세지
envelopeText 전자봉투 텍스트 (in)
XecureSmartPlugin.getEnvelopeType
void XecureSmartPlugin.getEnvelopeType ( successCB , failCB , envelopeText )
Option설명비고
successCB 성공 시 콜백함수 (out)타입
failCB 실패 시 콜백함수 (out)에러코드$에러메세지
envelopeText 전자봉투 텍스트 (in)
XecureSmartPlugin.getVIDInfo
void XecureSmartPlugin.getVIDInfo ( successCB , failCB )
Option설명비고
successCB 성공 시 콜백함수 (out)VID
failCB 실패 시 콜백함수 (out)에러코드$에러메세지
XecureSmartPlugin.keySharpGetConfirmNumber
void XecureSmartPlugin.keySharpGetConfirmNumber ( successCB , failCB, ssn )
Option설명비고
successCB 성공 시 콜백함수 (out)0
failCB 실패 시 콜백함수 (out)에러코드$에러메세지
ssn 가져올 인증서의 주민등록번호/사업자등록번호 (in)
XecureSmartPlugin.keySharpSaveCert
void XecureSmartPlugin.keySharpSaveCert ( successCB , failCB )
Option설명비고
successCB 성공 시 콜백함수 (out)0
failCB 실패 시 콜백함수 (out)에러코드$에러메세지
XecureSmartPlugin.renewCertificate
void XecureSmartPlugin.renewCertificate ( successCB, failCB, caCode, issuerDN, serial, oldPassword, newPassword )
Option설명비고
successCB 성공시 콜백함수 (out)0
failCB 실패시 콜백함수 (out)에러코드$에러메시지
caCode CA 코드 (in)10 : Yessign test
11 : XecureCA RSA
12 : XecureCA KCDSA
13 : Yessign test 2048
14 : XecureCA 2048 RSA
15 : XecureCA 2048 KCDSA
16 : SignKorea
17 : SignKorea test
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
oldPassword 인증서의 이전암호 (in)
newPassword 인증서의 새 암호 (in)
XecureSmartPlugin.requestCertificate
void XecureSmartPlugin.requestCertificate ( successCB, failCB, caCode, refNum, authCode, password )
Option설명비고
successCB 성공시 콜백함수 (out)0
failCB 실패시 콜백함수 (out)에러코드$에러메시지
caCode CA 코드 (in)10 : Yessign test
11 : XecureCA RSA
12 : XecureCA KCDSA
13 : Yessign test 2048
14 : XecureCA 2048 RSA
15 : XecureCA 2048 KCDSA
16 : SignKorea
17 : SignKorea test
refNum 참조번호 (in)
authCode 인가코드 (in)
password 인증서의 암호 (in)
XecureSmartPlugin.revokeCertificate
void XecureSmartPlugin.revokeCertificate ( successCB, failCB, caCode, issuerDN, serial, password, jobCode, reason )
Option설명비고
successCB 성공시 콜백함수 (out)0
failCB 실패시 콜백함수 (out)에러코드$에러메시지
caCode CA 코드 (in)10 : Yessign test
11 : XecureCA RSA
12 : XecureCA KCDSA
13 : Yessign test 2048
14 : XecureCA 2048 RSA
15 : XecureCA 2048 KCDSA
16 : SignKorea
17 : SignKorea test
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
password 인증서의 암호 (in)
jobCode 작업코드 (in)
reason 사유 (in)
XecureSmartPlugin.setIDNum
void XecureSmartPlugin.setIDNum ( successCB, failCB, idn )
Option설명비고
successCB 성공시 콜백함수 (out)0
failCB 실패시 콜백함수 (out)에러코드$에러메시지
idn 식별번호 (in)
XecureSmartPlugin.signDataAdd
void XecureSmartPlugin.signDataAdd ( successCB , failCB , issuerDN , serial , password , plainText )
Option설명비고
successCB 성공 시 콜백함수 (out)전자서명 텍스트
failCB 실패 시 콜백함수 (out)에러코드$에러메세지
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
password 인증서의 암호 (in)
plainText 평문 (in)
XecureSmartPlugin.signDataCMS
void XecureSmartPlugin.signDataCMS ( successCB , failCB , issuerDN , serial , password , plainText )
Option설명비고
successCB 성공 시 콜백함수 (out)전자서명 텍스트
failCB 실패 시 콜백함수 (out)에러코드$에러메세지
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
password 인증서의 암호 (in)
plainText 평문 (in)
XecureSmartPlugin.verifyCertPassword
void XecureSmartPlugin.verifyCertPassword ( successCB , failCB , issuerDN , serial , password  )
Option설명비고
successCB 성공 시 콜백함수 (out)0
failCB 실패 시 콜백함수 (out)에러코드$에러메세지
issuerDN 인증서의 발급자 (in)
serial 인증서의 일련번호 (in)
password 인증서의 암호 (in)