전자서명값

이용기관은 전자서명 검증(verifySign) 함수를 호출하여 전자서명값(signedData)을 응답 받을 수 있습니다. Base64 인코딩 되어 있는 전자서명값은 Base64 디코딩을 통해 전자서명 원문과 인증서 정보를 확인하여 검증 및 부인방지 용도로 활용할 수 있습니다. 네이버써트는 프로그램 공급사의 연동개발 편의를 위하여 전자서명값 복호화를 위한 자체 개발한 모듈 및 가이드를 지원합니다.[검증모듈 신청]

전자서명 검증 및 복호화 프로세스

환경 설정

전자서명값 확인 모듈은 IIS v6.0 이상에서 정상작동을 보장합니다. 하위 버전을 이용하실 경우 추가문의가 필요합니다.

기능 구현

전자서명값 확인 모듈의 파싱 함수를 호출하는 예제입니다. 검증모듈 신청을 통해서 전자서명값 확인 모듈을 제공합니다. [검증모듈 신청]

<!--#include file="navercertExample/helper.asp"-->
<%
	Dim sampleSignedData = "MIIIXAYJKoZIhvcNAQcCoIIITTCCCEkCAQExDzANBglghkgBZQMEAgEFADAr…"

	Public Function getContent()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getContent = VerifySignedDataHelper.getContent (sampleSignedData)
    End Function

    Public Function getCertAlgorithm()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertAlgorithm = VerifySignedDataHelper.getCertAlgorithm (sampleSignedData)
    End Function

    Public Function getCertSerialNumber()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertSerialNumber = VerifySignedDataHelper.getCertSerialNumber (sampleSignedData)
    End Function

    Public Function getCertSignature()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertSignature = VerifySignedDataHelper.getCertSignature (sampleSignedData)
    End Function

    Public Function getCertIssuer()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertIssuer = VerifySignedDataHelper.getCertIssuer (sampleSignedData)
    End Function

    Public Function getCertAuthorityKeyIdentifier()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertAuthorityKeyIdentifier = VerifySignedDataHelper.getCertAuthorityKeyIdentifier (sampleSignedData)
    End Function

    Public Function getCertSubject()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertSubject = VerifySignedDataHelper.getCertSubject (sampleSignedData)
    End Function

    Public Function getCertSubjectKeyIdentifier()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertSubjectKeyIdentifier = VerifySignedDataHelper.getCertSubjectKeyIdentifier (sampleSignedData)
    End Function

    Public Function getCertValidity()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertValidity = VerifySignedDataHelper.getCertValidity (sampleSignedData)
    End Function

    Public Function getCertPolicyQualifierInfo()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertPolicyQualifierInfo = VerifySignedDataHelper.getCertPolicyQualifierInfo (sampleSignedData)
    End Function

    Public Function getCertKeyUsage()
        Dim VerifySignedDataHelper
        Set VerifySignedDataHelper = New Helper
		getCertKeyUsage = VerifySignedDataHelper.getCertKeyUsage (sampleSignedData)
    End Function

	' 서명 원문 확인 (서명 원문 유형이 PDF인 경우, SignedData에 원문이 포함되지 않습니다)
	Response.Write getContent & "<br>"
	' 서명 인증서 알고리즘 확인
	Response.Write getCertAlgorithm & "<br>"
	' 서명 인증서 고유 일련번호 확인
	Response.Write getCertSerialNumber & "<br>"
	' 서명 인증서 발급자 서명 확인
	Response.Write getCertSignature & "<br>"
	' 서명 인증서 발급자 정보
	Response.Write getCertIssuer & "<br>"
	' 서명 인증서 발급자 공개키 식별값 확인
	Response.Write getCertAuthorityKeyIdentifier & "<br>"
	' 서명 인증서 사용자 정보 확인
	Response.Write getCertSubject & "<br>"
	' 서명 인증서 사용자 공개키 식별값 확인
	Response.Write getCertSubjectKeyIdentifier & "<br>"
	' 서명 인증서 유효기간 확인
	Response.Write getCertValidity & "<br>"
	' 서명 인증서 제약사항 확인
	Response.Write getCertPolicyQualifierInfo & "<br>"
	' 서명 인증서 인증서 용도 확인
	Response.Write getCertKeyUsage & "<br>"
%>

인증서 규격

네이버 인증서는 X.509.V3의 규격을 따릅니다.
RFC 5280 상세 - https://www.ietf.org/rfc/rfc5280.txt

구분 상세
Version 인증서 버전
Algorithm 인증서 알고리즘
SerialNumber 고유 일련번호
Signature 발급자 서명
Issuer 발급자 정보
AuthorityKeyIdentifier 발급자 공개키 식별값
Subject 사용자 정보(성명, 국가정보)
SubjectKeyIdentifier 사용자 공개키 식별값
Validity 유효기간
PolicyQualifierInfo 제약사항
KeyUsage 인증서 용도