프로그래밍 방식으로 CSR을 작성하려고합니다. ASN.1, RFC 2986, X.509에 대해 읽었습니다.
OpenSSL
을 사용하여 생성 된 DER로 인코딩 된 여러 CSR 파일을 수동으로 파싱했습니다.
모든 것이 몇 가지를 제외하고 명확한 같습니다프로그래밍 방식으로 CSR 작성
공개 키 부분은 비트 문자열의 콘텐츠하기 전에 다음 바이트
8D 00 30 81 89 02 81 81
를 포함 (및03 81
후). 이게 뭐야? DER로 인코딩 된 모든 CSR 파일에 이러한 파일이 들어 있습니다. 나는 RFC에서 그들에 관해 아무것도 발견하지 못했다.서명 부분에는 서명 내용 이전에 다음 명확하지 않은 바이트가 포함되어 있지만
03 81
이후에 포함됩니다. 이 부분에는 BIT STRING의 마지막 옥텟에 대한 정보가 들어 있습니다 (실제로 마지막 바이트에서 얼마나 많은 비트가 채워 져야하는지). 그러나 이러한 바이트를 디코딩하는 방법을 이해할 수 없습니다. 예를 들어, 서명은 다음과 같을 수 있습니다 :03h
는 비트 문자열 형식, 비트 문자열의81h
길이가03 81 81 00 64 12 ... 24 B1 28
는64 12 ... 24 B1 28
는 서명입니다 (하지만이 길이 80H있다). 나는 부분81 00
을 이해하지 못한다.
미리 감사드립니다.
공개 키 알고리즘이란 무엇입니까? RSA? – emboss
예, 현재 RSA를 사용하고 있습니다. – gN0Me