Zaman Damgası Doğrulama
RFC 3161 uyumlu zaman damgası token’larını doğrulama.
Endpoint
POST /api/v1/verify/timestampRequest Parameters
| Parametre | Tip | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
timestampToken | MultipartFile | ✅ | - | Zaman damgası token dosyası (.tst veya .ts) |
originalData | MultipartFile | ❌ | - | Orijinal veri (message imprint doğrulaması için, opsiyonel) |
validateCertificate | Boolean | ❌ | true | TSA sertifikası doğrulaması yapılsın mı |
Response
{
"valid": true,
"status": "VALID",
"timestampTime": "2024-11-08T10:30:00Z",
"tsaName": "CN=KamuSM TSA",
"digestAlgorithm": "SHA-256",
"messageImprint": "a1b2c3d4...",
"tsaCertificate": {
"subjectDN": "CN=KamuSM TSA",
"issuerDN": "CN=KamuSM Root CA",
"serialNumber": "123456",
"validFrom": "2024-01-01T00:00:00Z",
"validTo": "2025-12-31T23:59:59Z"
},
"errors": [],
"warnings": [],
"verificationTime": "2024-11-09T12:00:00Z"
}Örnek Kullanım
cURL
# Sadece token doğrulama (sertifika ve format kontrolü)
curl -X POST http://localhost:8086/api/v1/verify/timestamp \
-F "timestampToken=@timestamp.tst"
# Orijinal veri ile message imprint doğrulaması
curl -X POST http://localhost:8086/api/v1/verify/timestamp \
-F "timestampToken=@timestamp.tst" \
-F "originalData=@document.pdf"
# Sertifika doğrulaması olmadan
curl -X POST http://localhost:8086/api/v1/verify/timestamp \
-F "timestampToken=@timestamp.tst" \
-F "originalData=@document.pdf" \
-F "validateCertificate=false"JavaScript (Fetch)
const formData = new FormData();
formData.append('timestampToken', timestampFile);
formData.append('originalData', originalDataFile); // Opsiyonel
formData.append('validateCertificate', 'true'); // Varsayılan: true
const response = await fetch('http://localhost:8086/api/v1/verify/timestamp', {
method: 'POST',
body: formData
});
const result = await response.json();
console.log(result);Doğrulama Süreci
- Token Format Kontrolü: Zaman damgası token’ının geçerli bir RFC 3161 formatında olup olmadığı kontrol edilir
- İmza Doğrulama: Token’ın dijital imzası doğrulanır
- Sertifika Doğrulama (validateCertificate=true ise): TSA sertifikası güvenilir kök sertifikalara kadar doğrulanır
- Message Imprint Kontrolü (originalData sağlanmışsa): Token içindeki hash değeri ile verilen verinin hash’i karşılaştırılır
- Zaman Bilgisi: Token içindeki zaman damgası bilgisi çıkarılır
Doğrulama Seviyeleri
Minimal Doğrulama (Sadece token)
curl -X POST http://localhost:8086/api/v1/verify/timestamp \
-F "timestampToken=@timestamp.tst"- Token format kontrolü
- İmza doğrulaması
- TSA sertifika doğrulaması
- Kullanım senaryosu: Token’ın geçerli olup olmadığını kontrol etmek
Tam Doğrulama (Token + Orijinal Veri)
curl -X POST http://localhost:8086/api/v1/verify/timestamp \
-F "timestampToken=@timestamp.tst" \
-F "originalData=@document.pdf"- Minimal doğrulama
- Message imprint doğrulaması
- Kullanım senaryosu: Token’ın belirli bir veri için alındığını doğrulamak
TÜBİTAK KamuSM TSA
Türkiye’deki zaman damgası servisleri için KamuSM root sertifikaları kullanılır. Detaylar için TÜBİTAK Entegrasyonu sayfasına bakın.