WizSign NPKI API

개요

WizSign은 모바일 환경에서 전자서명, 인증서 관리등의 PKI 응용프로그램 개발에 필요한 라이브러리를 제공하며, 공개키기반 응용 프로그램에서 사용하는 PKI 기반 기능들을 구현할 수 있다.

아래에서는 HybridApp 환경에서 전자서명, 인증서 관련 기능들을 사용하기 위한 API 명세서와 WizSign 서비스에 대한 설명을 제공한다.

  • 전자서명 API
  • 인증서관련 API

전제조건

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

NPKI WizSign Library

파일명설명
Plugin/WizSignPhoneGap.a, WizSignPhoneGap.h WizSign 라이브러리
Plugin/cert.dbWizSign DB
www/js/egovframework/mbl/hyb/wizsignpg.js WizSign PhoneGap Plugin JavaScript

Cordova.plist 설정

	<key>Plugins</key>
	<dict>
    <!--전자정부 Interface 디바이스 API를 사용하기 위한 Phonegap Plugin 클래스-->
		<key>WizSignPG</key>
		<string>WizSignPG</string>
	</dict>

API Doc

전자서명 API

전자서명을 하기 위한 API 이다.

doSignature
  • 선택한 인증서로 전자서명을 수행하여 서명값을 반환한다.

- 파라메터 : 인증서 번호, 인증서 비밀번호, 서명대상 원문
- 반환값(해시 테이블)
'signedData' : 서명데이터
'errMsg' : 에러 발생시 에러메시지

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']);	// 에러메시지
});

인증서관련 API

getCertificates
  • 저장된 인증서목록을 가져와 반환한다.

- 파라메터 : N/A
- 반환값(해시 테이블)
'Certificates' : 인증서 목록
'errMsg' : 에러 발생시 에러메시지

WizSignPG.getCertificates("", function(result) {
    var certList = result['Certificates'];

    for(var i=0 ; i<certList.length ; i++) {
        certList[i]['NUM'];
        certList[i]['주체자'];
        certList[i]['발급자'];
        certList[i]['만료일'];
    }

    }, function(error) {
        alert("error['errMsg']);
});

인증서 정보 해시테이블

해시테이블설명
NUM인증서 번호
버전인증서 버전
일련번호인증서 시리얼번호
서명알고리즘인증서 서명알고리즘
발급자인증서의 발급자 정보
효력발생일인증서의 효력 발생일
만료일인증서 만료일
주체자인증서 주체자 정보
공개키알고리즘인증서 공개키 알고리즘
발급자시리얼번호발급자시리얼번호
공개키공개키값
기관키식별자기관키식별자
주체자식별자주체자식별자
정책정책
주체대체이름주체대체이름
CRL분배지점CRL분배지점
기관정보액세스기관정보액세스(OCSP)
키사용키사용용도
서명인증서 서명값
verifyCertPassword
  • 선택한 인증서의 비밀번호를 검증한다.

- 파라메터 : 인증서 번호, 인증서 비밀번호
- 반환값(해시 테이블)
'result' : 인증서 비밀번호 검증결과(성공시 'OK')
'errMsg' : 에러 발생시 에러메시지

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']);
});
changeCertPassword
  • 선택한 인증서의 비밀번호를 변경한다.

- 파라메터 : 인증서 번호, 인증서 비밀번호, 새로운 인증서 비밀번호
- 반환값(해시 테이블)
'result' : 인증서 비밀번호 변경 결과(성공시 'OK')
'errMsg' : 에러 발생시 에러메시지

var args = new Array();
args[0] = certNum.toString();
args[1] = beforePass;
args[2] = afterPass;
						
WizSignPG.changeCertPassword(args, function(result) {
    var runResult = result['result'];

    if(runResult == 'OK') {
        alert('인증서 비밀번호를 변경하였습니다.');	
    }

    }, function(error) {
    alert(error['errMsg']);
});
removeCert
  • 선택한 인증서를 삭제한다.

- 파라메터 인증서 번호
- 반환값(해시 테이블)
'result' : 인증서 삭제 결과(성공시 'OK')
'Certificate' : 삭제된 인증서 정보
'errMsg' : 에러 발생시 에러메시지

var args = new Array();
args[0] = certNum.toString();
	
WizSignPG.removeCert(args, function(result) {
    var runResult = result['result'];

    if(runResult == 'OK') {
        alert('인증서가 삭제되었습니다.')
    }			
	
    }, function(error) {
        alert(error['errMsg']);			
});
doValidateCert
  • 선택한 인증서의 유효성 검증을 수행한다. (CRL 검증)

- 파라메터 인증서 번호
- 반환값(해시 테이블)
'result' : 인증서 CRL 검증결과(성공시 'OK')
'status' : 인증서 상태
'errMsg' : 에러 발생시 에러메시지

var args = new Array();
args[0] = certNum.toString();
		
WizSignPG.doValidateCert(args, function(result) {
    var runResult = result['result'];
    var certStatus = result['status'];
			
    if(runResult == 'OK') {
        alert(certStatus);	
    }
		
    }, function(error) {
	alert(error['errMsg']);
});
runShowApp
  • KISA Show앱에서 인증서를 가져오기 위해 ShowApp앱을 실행한다.

- 파라메터 CallBack 될 앱스키마, 옵션
- 반환값(해시 테이블)
'result' : 실행겨로가(성공시 'OK')
'errMsg' : 에러 발생시 에러메시지

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']);
});
importPKCS12
  • PKCS#12데이터를 인증서로 변환하여 저장한다.

- 파라메터 PKCS#12 데이터(base64 encoded), 인증서 비밀번호, 새로운 인증서 비밀번호
- 반환값(해시 테이블)
'result' : 실행겨로가(성공시 'OK')
'Certificate' : import된 인증서 정보 'errMsg' : 에러 발생시 에러메시지

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으로부터 받은 URL데이터를 처리하여 PKCS#12데이터를 반환한다.

- 파라메터 URL
- 반환값 PKCS#12 데이터

// PhoneGap 페이지에 기본으로 제공되어지는 URL CallBak Function
function handleOpenURL(url)
{		
	 g_p12cert = callback_kisaShowApp(url);
}
 
egovframework/hyb2.7/guide/ios/npki_케이사인/wizsign_doc.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki