Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- PostgreSQL
- R데이터분석
- 장고웹
- 장고웹프로젝트
- 다른테이블에속해있습니다
- sqlite
- cmd명령어
- Android
- 사례관리
- 안드로이드
- webkitrecognition
- 자바스크립트날짜get
- 자바스크립트날짜
- 자바스크립트for문
- 자바스크립트날짜형식
- speechtoText
- forof문
- 이행은이미다른
- 장고
- 이행은이미다른테이블에속해있습니다
- speechAPI
- 장고프로젝트
- 오류종류
- Python
- 자바스크립트수학
- 파이썬
- 청소년복지론
- 개발
- javaScriptError
- 자바스크립트forinforof차이
Archives
- Today
- Total
EMDI는 지금도 개발중
C# : 선택한 공인인증서 정보 가져오기(3) 본문
물론 모든 공인인증서를 무조건 가져오는 것보다 용도에 맞는 공인인증서만 가지고 오는 것이 맞지만 일단 지금은 테스트임으로 구체적인 설계는 넘어가도록 하겠습니다. 그 다음은 공인인증서의 등록기관, 등록일자, 만료일자 등의 구체적 정보를 빼내는 방법에 대해 공부하도록 하겠습니다.
1. 인증서 정보 가져오기
NPKI폴더 경로를 따라 들어가는 방법은 전 글에 다룬 적이 있어서 패스하도록 하겠습니다. 만약 해당 내용을 보고싶은 분들은 아래의 링크를 참고해주세요.
자 이제 활용단계입니다. 위의 링크는 단순히 NPKI경로로 가서 해당 인증서폴더의 이름만 가져왔습니다. 하지만 저희는 해당 인증서의 정보가 필요한 것이죠. 정보를 빼낼 때 필요한 것들은 SignCert.der경로, SignPri.key경로입니다.
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using Org.BouncyCastle.Asn1.X509;
using Org.BouncyCastle.Asn1;
public void GetCertInfo()
{
try
{
string szSignCertFile = "SignCert.der경로";
string szSingPriFile = "SignPri.key경로";
X509CertificateStructure xCert;
X509Certificate2 cert;
byte[] byteCert;
// 인증서 읽기
cert = new X509Certificate2(szSignCertFile);
byteCert = File.ReadAllBytes(szSignCertFile);
xCert = X509CertificateStructure.GetInstance(Asn1Object.FromByteArray(byteCert));
//--------------------------------------------------------------
// 인증서, 개인키 파일경로 저장
string CertFilePath = szSignCertFile;
string CertPivateKeyFilePath = szSingPriFile;
// 인증서명
string CertName = cert.GetNameInfo(X509NameType.DnsName, false);
// 인증기관
string RegOrganization = cert.GetNameInfo(X509NameType.DnsName, true);
// 인증서 등록(시작)일
string RegDate = cert.NotBefore.ToString("yyyyMMdd");
// 인증서 만료일
string ExpDate = cert.NotAfter.ToString("yyyyMMdd");
// 인증서 일련번호
// 16진수 문자열을 숫자로 변경 - 앞에 '0'을 제외
string SerialNo = cert.SerialNumber.TrimStart('0');
}
catch (Exception ex)
{
// 예외 처리
Trace.WriteLine(ex.ToString());
return;
}
}
위의 메소드와 같이 처리하시면 인증서명, 인증기관, 인증서등록일, 만료일 등 정보를 가져올 수 있답니다!
'IT > 전자세금계산서' 카테고리의 다른 글
C# : 전자세금계산서 전자서명을 뺀 나머지 기본정보 XML로 생성하기(2) (0) | 2020.04.06 |
---|---|
C# : SQLite를 통해 전자세금계산서 XML 파일 생성 (1) (0) | 2020.04.06 |
Comments