0
MS PKI 인증서 해지 목록 배포 지점에 연결하여 CRL을 획득했습니다.타사 라이브러리를 사용하지 않고 C#의 인증서 해지 목록에서 일련 번호 목록을 어떻게 추출합니까?
타사 라이브러리를 사용하지 않고 CRL에서 일련 번호 목록을 추출하는 가장 쉬운 방법은 무엇입니까?
MS PKI 인증서 해지 목록 배포 지점에 연결하여 CRL을 획득했습니다.타사 라이브러리를 사용하지 않고 C#의 인증서 해지 목록에서 일련 번호 목록을 어떻게 추출합니까?
타사 라이브러리를 사용하지 않고 CRL에서 일련 번호 목록을 추출하는 가장 쉬운 방법은 무엇입니까?
관리되지 않는 CryptoAPI 기능 (p/invoke를 통해)을 사용하여 CRL을 언로 드해야합니다. 일반적으로 다음과 같은 높은 수준의 단계별로해야합니다 :
Marshal.PtrToStructure
.NET 메서드를 사용하여 pCrlInfo
포인터의 CRL_CONTEXT
구조를 CRL_INFO
구조로 변환합니다.rgCRLEntry
은 포인터 배열입니다 (배열 크기는 cCRLEntry
구성원에 의해 결정됨 CRL_INFO
).CRL_ENTRY
구조체만큼 증가시켜이 배열을 반복합니다.SerialNumber
CRL_ENTRY
의 구성원은 바이트 배열입니다. Marshal.Copy(IntPtr, Byte[], Int32, Int32)
메서드를 직접 사용하여 관리되지 않는 배열을 관리 대상에 복사 할 수 있습니다. 이렇게하면 일련 번호가 부여됩니다. 각 CRL 항목에 대해 4-5 단계를 반복하십시오.메모리 누수를 막기 위해 CertFreeCRLContext 함수를 호출하여 CRL_CONTEXT
구조체를 가리키는 포인터를 해제해야합니다.