전자서명값
전자서명값
이용기관은 간편로그인 검증(verifyLogin) 함수를 호출하여 전자서명값(signedData)을 응답 받을 수 있습니다. Base64 인코딩 되어 있는 전자서명값은 Base64 디코딩을 통해 전자서명 원문과 인증서 정보를 확인하여 검증 및 부인방지 용도로 활용할 수 있습니다. 카카오써트는 프로그램 공급사의 연동개발 편의를 위하여 전자서명값 복호화를 위한 자체 개발한 모듈 및 가이드를 지원합니다. [검증모듈 신청]
환경 설정
전자서명값 확인 모듈은 IIS v6.0 이상에서 정상작동을 보장합니다. 하위 버전을 이용하실 경우 추가문의가 필요합니다.
기능 구현
전자서명값 확인 모듈의 파싱 함수를 호출하는 예제입니다. 검증모듈 신청을 통해서 전자서명값 확인 모듈을 제공합니다. [검증모듈 신청]
<!--#include file="kakaocertExample/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
Public Function getSignature()
Dim VerifySignedDataHelper
Set VerifySignedDataHelper = New Helper
getSignature = VerifySignedDataHelper.getSignature (sampleSignedData)
End Function
Public Function getPublicKey()
Dim VerifySignedDataHelper
Set VerifySignedDataHelper = New Helper
getPublicKey = VerifySignedDataHelper.getPublicKey (sampleSignedData)
End Function
' 서명 원문 확인
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>"
' 서명 인증서 원문 서명 확인
Response.Write getSignature & "<br>"
' 서명 인증서 공개키 확인
Response.Write getPublicKey & "<br>"
%>
인증서 규격
카카오 인증서는 X.509.V3의 규격을 따릅니다.
RFC 5280 상세 - https://www.ietf.org/rfc/rfc5280.txt
구분 | 상세 |
---|---|
Version | 인증서 버전 |
Algorithm | 인증서 알고리즘 |
SerialNumber | 고유 일련번호 |
CertSignature | 발급자 서명 |
Issuer | 발급자 정보 |
AuthorityKeyIdentifier | 발급자 공개키 식별값 |
Subject | 사용자 정보(성명, 국가정보) |
SubjectKeyIdentifier | 사용자 공개키 식별값 |
Validity | 유효기간 |
PolicyQualifierInfo | 제약사항 |
KeyUsage | 인증서 용도 |