sitelink1 | https://github.com/spdx/tools-java |
---|---|
sitelink2 | https://github.com/spdx/tools-python |
sitelink3 | https://github.com/spdx/spdx-online-tools |
sitelink4 | |
extra_vars5 | |
extra_vars6 |
tools-java 는 문서 포맷 검증에 체크섬 생성 및 포맷 변환 기능이 있지만 현재 2.0.1 버전에는 'SBOM NTIA' 체크 기능이 없다.
'SBOM NTIA' 체크 기능은 tools-python 에 있다고 gpt 가 알려주었지만 할루시네이션같다. (github project README.md 를 살펴봐도 관련 내용 없음)
대시 'spdx-online-tools' project 를 찾았고 이것을 이용해 rest api 형식으로 서비스를 호출 할 수 있을 것 같아서 현재 검토중이다. (2025.07.30)
SPDX Java Tools 주요 기능 요약
1. SPDX 문서 읽기/쓰기 지원
-
다양한 SPDX 포맷 지원:
-
Tag/Value
-
RDF/XML
-
JSON
-
YAML
-
-
SPDX 파일을 Java 객체로 파싱하고, 반대로 객체를 문서로 저장 가능
2. SPDX 문서 유효성 검증
-
SPDX 문서가 사양에 맞는지 자동 검증 (
SPDXDocumentVerifier
클래스 등) -
잘못된 포맷, 누락된 필드, 잘못된 해시값 등의 오류 검출
3. SPDX 문서 변환
-
SPDX 문서 포맷 간 변환 (예: Tag/Value → RDF/XML, JSON ↔ YAML 등)
-
변환 시 자동 정렬 및 정합성 유지
4. SPDX 패키지 및 파일 메타데이터 처리
-
SPDX 패키지 생성, 파일 추가, 라이선스 지정, 해시값 계산 등
-
파일별 라이선스 추정 결과 적용 가능
5. SPDX Checksum 및 검증 코드 생성
-
SHA1, SHA256, MD5 등 해시 알고리즘 지원
-
PackageVerificationCode
자동 생성 (파일 해시 기반)
6. SPDX 라이선스 관련 기능
-
표준 SPDX 라이선스 식별자 처리 (
LicenseInfoFactory
) -
사용자 정의/비표준 라이선스도 지원
활용 예시
SPDX 문서 파싱
파일 해시 생성 및 SPDX 파일 객체 생성
패키지 검증 코드 생성
문서 저장
대상 사용자
-
SPDX 기반 SBOM 관리 도구를 개발하는 Java 개발자
-
빌드 도구(예: Maven, Gradle)에 SPDX 생성을 통합하려는 팀
-
라이선스/컴플라이언스 자동화 파이프라인 구축자
기타 정보
-
SPDX v2.2.x 사양 기준으로 개발 중
-
GPL-2.0-only 라이선스
-
Maven 라이브러리로 직접 빌드 가능 (
pom.xml
포함)