프로토콜 및 바이너리 직렬화

ASN.1 디코더바이트 경계를 따라 오류 찾기

완전한 BER 또는 DER 값 하나를 넣고 텍스트 형식을 선택한 뒤 TLV 트리를 읽으세요.

ASN.1 디코더

인코딩된 바이트

TLV 트리

바이트를 입력하거나 예제를 불러오세요.

바이트는 이 브라우저에서만 처리하며 업로드하거나 URL에 저장하지 않습니다.

옵션

바이트를 입력하거나 예제를 불러오세요.

인증서나 CSR 파일을 라이브러리가 거부한다면 보기 좋은 필드 이름보다 실제 길이와 오프셋이 먼저 필요합니다. ASN.1 디코더는 각 노드가 차지하는 바이트를 남겨 잘린 값과 루트 뒤 잔여 데이터를 찾습니다.

ASN.1 디코더의 단일 TLV 만들기는 태그와 값에서 길이를 쓰고 같은 파서로 다시 읽습니다. 컨텍스트 태그의 업무상 의미는 외부 ASN.1 스키마 없이는 붙이지 않습니다.

ASN.1 디코더가 유용한 이유

필드 이름보다 먼저 인코딩의 시작과 끝을 확인합니다.

길이 오류를 정확한 위치에 표시

ASN.1 디코더는 각 노드의 시작 오프셋, 헤더 크기와 내용 길이를 보여줍니다. 상위 범위를 넘는 길이, BER 종료 마커 누락, 루트 뒤 남는 바이트는 부분 성공으로 처리하지 않습니다.

16진수 바이트가 SEQUENCE와 INTEGER 트리로 나뉘고 두 노드의 바이트 범위가 표시된다.

만든 TLV를 같은 파서로 검증

완전한 태그 바이트와 값으로 확정 길이를 인코딩한 뒤 곧바로 다시 읽습니다. constructed 태그의 값은 완전한 하위 TLV여야 하므로 임의 바이트를 구조로 착각하지 않습니다.

태그와 값으로 만든 TLV 바이트가 다시 두 단계의 트리로 해석된다.

형식, 길이, 재해석을 차례로 확인

01

바이트 포장을 고르기

기본은 hex입니다. PEM과 Base64는 직접 선택하고 로컬 DER 파일은 바이트 그대로 읽습니다. hex처럼 보이는 문자열을 Base64로 잘못 추측하지 않습니다.

  • PEM은 BEGIN과 END가 맞는 블록 하나만 받습니다.
02

트리에서 원본 위치 찾기

분석은 수동으로 실행합니다. 노드를 선택해 태그 클래스, 번호, 시작 위치, 헤더와 내용 길이를 원본과 비교하세요.

  • Ctrl/Cmd + Enter로 현재 보기를 실행할 수 있습니다.
03

입력 교체 전에 미리보기

만들기 보기는 값의 바이트 수로 길이를 계산합니다. 생성 결과를 디코딩 입력에 넣기 전에 교체 내용을 확인하고 적용 후 한 번 되돌릴 수 있습니다.

  • 입력이나 옵션을 바꾸면 결과가 오래된 것으로 표시되고 내보내기가 막힙니다.

원본 바이트와 읽을 수 있는 값을 함께

명시적인 입력 형식

hex, Base64, 단일 PEM 블록을 구분하고 로컬 DER는 텍스트 변환 없이 읽습니다. ASN.1 디코더는 잘못된 인코딩을 트리 탐색 전에 거릅니다.

알 수 없는 태그도 보존

INTEGER, OID, 문자열처럼 확실한 범용 타입만 읽기 쉽게 표시합니다. 애플리케이션 태그에는 번호와 원본 hex가 그대로 남습니다.

BER 처리 범위를 제한

constructed 확정 길이와 부정 길이를 처리하되 256 KiB 입력, 32단계 깊이, 10,000개 노드에서 멈춥니다.

트리에서 알 수 없는 정보

DER 적합성 판정은 아님
ASN.1 디코더는 BER의 constructed 부정 길이도 읽습니다. 성공한 트리가 DER 정규형이나 SET 순서, 스키마 일치를 증명하지는 않습니다.
완전한 루트 하나만
PEM 블록 여러 개, 루트 뒤 바이트, 잘린 길이 또는 빠진 종료 마커는 오류입니다. 부분 트리는 정상 결과로 내려받을 수 없습니다.
인증서 신뢰 검증은 별도
서명, 체인, 만료, 개인키 유효성은 검사하지 않습니다. ASN.1 디코더는 tag-length-value 바이트 구조만 보여줍니다.
업계 전용 TLV 사전 없음
[0]만 보고 EMV 또는 사설 프로토콜 필드를 알 수 없습니다. OCTET STRING 안의 바이트도 임의로 DER이라고 추측해 펼치지 않습니다.

ASN.1 디코더 자주 묻는 질문

인증서 디코더와 뭐가 다른가요?

인증서 도구는 X.509의 주체와 만료일을 해석합니다. ASN.1 디코더는 BER/DER 한 개의 원시 태그, 길이, 값, 오프셋을 보여주지만 신뢰는 판단하지 않습니다.

각 줄 앞의 숫자는 무엇인가요?

그 노드가 입력의 몇 번째 바이트에서 시작하는지 나타냅니다. 선택하면 헤더, 내용, 끝 위치도 함께 보여 원본 hex와 대조할 수 있습니다.

OCTET STRING을 왜 DER로 자동 펼치지 않나요?

그 안은 어떤 바이트든 담을 수 있습니다. 완전한 ASN.1 구조처럼 보여도 스키마 없이 의미를 단정할 수 없어 원본 hex로 남깁니다.

부정 길이란 무엇인가요?

BER에서는 constructed 값이 길이 대신 종료 마커 00 00을 쓸 수 있습니다. DER에서는 허용되지 않으며 마커가 없으면 오류입니다.

개인키를 붙여넣어도 되나요?

구조는 분석되고 업로드되지 않습니다. 그래도 민감한 키는 웹 페이지에 붙여넣는 습관보다 기기 안의 전용 도구로 확인하는 편이 안전합니다.

다른 질문이 있나요?

ASN.1 디코더 시작하기

완전한 BER/DER 값 하나를 붙여넣거나 로컬 파일을 열고, 스키마 의미를 붙이기 전에 바이트 범위를 확인하세요.

분석은 이 브라우저 안에서 실행됩니다.