RFC 3161
TSA에 보내는 요청 형식과 응답 형식을 정의한다.
TimeStampReq(TSQ)
클라이언트 -> TSA 타임스탬프 발급 요청
1. messageImprint
- hashAlgorithm OID + hashedMessage(해시값)
- TSA는 원문을 받지 않고 이 해시 값만 다룬다.
2. nonce(optional)
- 재전송 공격 방지용 랜덤 값
- 요청에 nonce를 넣어서 전송했으면, 응답에도 같은 nonce가 와야한다.
3. reqPolicy(optional)
- 특정 정책(policy OID)로 발급 요청
- TSA가 지원하지 않으면 unacceptedPolicy 에러 발생 가능
4. certReq(optional)
- 응답에 TSA 인증서를 포함해달라는 힌트
- 서버 정책/프로파일에 따라 다르게 동작한다.
5. 전자서명
- GTSA의 경우 TSQ에 서버인증서의 개인키로 전자서명을 해서 보내야한다.
TimeStampResp(TSR)
TSA -> 클라이언트 타임스탬프 응답
1. status(PKIStatusInfo)
- 처리 결과 코드
2. (status가 성공이면) timeStampToken
3. 대표적인 실패 케이스로는
- badAlg (해시 알고리즘 불가)
- badRequest (요청 불가/미지원)
- timeNotAvailable (시간원 문제)
- unacceptedPolicy / unacceptedExtension (지원하지 않는 정책)
- systemFailure (TSA 시스템 에러)
정리
TSQ = 해시 + 옵션
TSR = 상태 +(성공 시) 토큰
'TSA' 카테고리의 다른 글
| [TSA] 전자서명에서 타임스탬프가 필요한 이유 (0) | 2026.01.21 |
|---|---|
| [TSA] TimeStampToken(TST) 검증 (0) | 2026.01.20 |
| [TSA] TimeStampToken(TST) (0) | 2026.01.15 |
| [TSA] TSA(Time-Stamp Authority)란? (0) | 2026.01.06 |
