CBOR 디코더 & 인코더
CBOR(RFC 8949)을 hex·base64에서 들여쓴 JSON으로 디코딩하거나, JSON을 정렬된 키를 가진 표준 CBOR hex로 인코딩합니다 — WebAuthn·COSE·IoT 페이로드용.
민감한 키가 담긴 WebAuthn·COSE·IoT 데이터 검사에 적합합니다.
스키마 없이 CBOR 디코딩·인코딩
CBOR(Concise Binary Object Representation, RFC 8949)은 간결한 바이너리 데이터 포맷입니다 — JSON과 비슷하지만 텍스트 대신 바이트로 담아 더 작습니다. CBOR 페이로드를 hex 또는 base64로 붙여넣으면 읽기 쉬운 들여쓰기된 JSON으로 디코딩합니다: 부호 없는·음의 정수, 바이트·텍스트 문자열, 배열, 맵, 불리언, null, 부동소수점 숫자와 깊게 중첩된 구조까지 지원합니다. 방향을 바꾸면 JSON을 다시 표준 CBOR로 인코딩해 소문자 hex로 내보내며(출력 형식에서 base64나 base64url도 고를 수 있습니다), 최단 형식 정수와 정렬된 맵 키를 사용해 결정적(deterministic) 출력을 만듭니다. CBOR 와이어 포맷은 자기 기술적이므로 .cddl 스키마가 필요 없습니다. 링크 복사는 페이로드를 복사하는 링크의 # 뒤에 담아 넘깁니다. 변환 방향·출력 형식·인코딩·CBOR 시퀀스 설정은 페이지 주소에 남아 새로고침해도 유지되지만 페이로드 자체는 주소창에 올라가지 않으며, 링크에 담기에 너무 긴 페이로드면 그렇다고 알려 줍니다.
WebAuthn·COSE·IoT를 위한 도구
CBOR은 WebAuthn/FIDO2 attestation 객체, COSE 키·서명(패스키와 CWT 토큰에 사용), 수많은 IoT·임베디드 프로토콜의 인코딩입니다. 이 디코더로 그런 페이로드를 한눈에 검사할 수 있습니다 — COSE_Key 읽기, attestation statement 확인, 센서 메시지 디버깅 — 그리고 수정한 값을 테스트용으로 다시 인코딩할 수 있습니다. 모든 처리는 브라우저에서 실행되어 바이트가 기기를 벗어나지 않으므로 개인 키와 자격 증명에도 안전합니다. 바이트 문자열은 hex로 표시되고, JavaScript로 표현하기엔 너무 큰 정수는 정확히 보존됩니다.
자주 묻는 질문
CBOR이란 무엇이고 JSON과 어떻게 다른가요?
CBOR(Concise Binary Object Representation, RFC 8949)은 JSON과 동일한 데이터 모델(숫자, 문자열, 불리언, null, 배열, 맵)을 갖지만 텍스트 대신 간결한 바이트로 인코딩하는 바이너리 직렬화 포맷입니다. 여기에 바이트 문자열과 정확한 64비트 정수가 추가됩니다. 이 도구는 CBOR(hex 또는 base64)과 읽기 쉬운 JSON을 양방향으로 변환합니다.
디코딩하려면 스키마나 .cddl 파일이 필요한가요?
아니요. CBOR 와이어 포맷은 자기 기술적입니다: 모든 항목이 자체 타입과 길이를 담고 있어 스키마 없이도 전체 구조를 복원합니다. CDDL 스키마에만 정의된 필드 의미(예: 어떤 정수 키가 어떤 COSE 레이블인지)는 표시되지 않지만 값과 구조는 표시됩니다.
CBOR를 진단 표기법이나 주석 달린 hex로 볼 수 있나요?
네. 출력 형식 메뉴에서 JSON, 진단 표기법, 주석 달린 hex 중에 고를 수 있고, 주석 달린 hex는 바이트마다 그것이 시작하는 항목을 표시합니다.
CBOR를 base64로 받거나, CBOR 시퀀스를 읽거나, .cbor 파일을 열 수 있나요?
네. JSON → CBOR 방향에서는 출력 형식 메뉴에서 CBOR (16진수), CBOR (base64), CBOR (base64url) 중에 고를 수 있고, 내려받는 파일 이름도 고른 형식을 따릅니다. CBOR 시퀀스 체크박스를 켜면 이어 붙인 여러 항목을 차례로 읽어 JSON 배열, 진단 표기법 항목, 항목별 주석 달린 hex로 보여 주고, 반대 방향에서는 JSON 배열의 원소마다 항목을 따로 씁니다. 파일 열기…는 바이너리 .cbor·.cose·.bin 파일도 받아 바이트를 hex로 읽은 뒤 곧바로 디코딩 쪽으로 넘어갑니다.
페이로드를 링크로 보낼 수 있나요?
네. 링크 복사는 페이로드를 복사하는 링크의 # 뒤에 담고, 그 링크를 열면 같은 변환 방향과 출력 형식으로 그 페이로드가 열립니다. 변환 방향·출력 형식·인코딩·CBOR 시퀀스 설정은 작업하는 동안 페이지 주소에 남지만 페이로드는 남지 않으며, 링크에 담기에 너무 긴 페이로드면 링크 대신 그렇다고 알려 줍니다.