QuickSign

Komut satırı (CLI)

QuickSign'ın ilk argümanı bir komutsa web sunucusu açılmaz; komut çalışır ve çıkar. Bu, betiklerden, zamanlanmış görevlerden ve CI hatlarından imza ve zaman damgası almayı kolaylaştırır.

Linux'ta install-cli.sh ile kurduktan sonra komut her dizinden quicksign adıyla çalışır. Windows'ta komut exe'nin kendisidir: .\QuickSign.exe timestamp ...

Komutlar

KomutKısaltmaAçıklamaToken
timestamptsRFC 3161 zaman damgasıgerekmez
sign—CMS / PKCS#7 e-imzagerekir
help--help, -hYardım metnini gösterir—

Ortak seçenekler

SeçenekKısaDeğerVarsayılan
--file-fGirdi dosyası—
--out-oÇıktı yolukomuta ve biçime göre
--format—Çıktı biçimitimestamp: tst, sign: cms
--algorithm-aSHA256 | SHA384 | SHA512 | SHA1SHA256

timestamp

Dosyayı veya hazır bir hash'i zaman damgalar. Token gerekmez; damgayı TSA sunucusu imzalar. Hangi TSA'nın kullanılacağı Zaman damgası kılavuzunda anlatılır.

SeçenekAçıklama
-f, --file <yol>Damgalanacak dosya
--hash <hex veya base64>Dosya yerine hazır hash (dosya okunmaz)
--format tstHam RFC 3161 token'ı (.tst) — varsayılan
--format jsonToken (base64) ve bilgiler; --out yoksa ekrana yazılır
--format containerOrijinal dosya + token tek .asics paketinde (yalnız --file ile)

--file ve --hash seçeneklerinden tam olarak biri verilmelidir.

bash
# rapor.pdf.tst üretir
quicksign timestamp -f rapor.pdf
quicksign ts -f rapor.pdf

# çıktı yolunu belirle
quicksign timestamp -f rapor.pdf -o damga.tst

# JSON bilgiler
quicksign timestamp -f rapor.pdf --format json
quicksign timestamp -f rapor.pdf --format json -o rapor.json

# dosya + token tek pakette (rapor.pdf.asics)
quicksign timestamp -f rapor.pdf --format container

# daha güçlü hash
quicksign timestamp -f rapor.pdf -a SHA512

Hazır hash ile damgalama

Dosya içeriği hiç okunmadan, önceden hesaplanmış hash damgalanır. Büyük dosyalar veya içeriği paylaşılamayan belgeler için uygundur. Hash uzunluğu algoritmayla eşleşmelidir (SHA256 için 32 bayt).

bash
quicksign timestamp --hash F80B17ED... -a SHA256               # timestamp.tst
quicksign timestamp --hash F80B17ED... -a SHA256 --format json

sign

Dosyayı takılı token'daki sertifikayla imzalar. İmzaya otomatik olarak zaman damgası eklenir.

SeçenekAçıklama
-f, --file <yol>İmzalanacak dosya (zorunlu)
--tckn <tckn>İmzacının TC kimlik numarası (zorunlu)
--pin <pin>Token PIN'i (zorunlu)
--detached <true|false>true (varsayılan): içerik imzaya gömülmez, ayrık imza üretilir
--format cmsDER CMS imza (.p7s) — varsayılan; p7s de yazılabilir
--format jsonİmza (base64) ve imzacı bilgileri
--format containerOrijinal dosya + imza tek .asics paketinde
bash
# belge.pdf.p7s (ayrık CMS)
quicksign sign -f belge.pdf --tckn 12345678901 --pin 1234

# içeriği imzaya göm (attached)
quicksign sign -f belge.pdf --tckn 12345678901 --pin 1234 --detached false

# dosya + imza tek pakette
quicksign sign -f belge.pdf --tckn 12345678901 --pin 1234 --format container

# JSON çıktı, SHA512
quicksign sign -f belge.pdf --tckn 12345678901 --pin 1234 --format json -a SHA512

Varsayılan çıktı dosyaları

KomutBiçim--out verilmezse
timestamptst<dosya>.tst
timestampcontainer<dosya>.asics
timestampjsonekrana (stdout)
timestamp --hashtsttimestamp.tst
signcms<dosya>.p7s
signcontainer<dosya>.asics
signjsonekrana (stdout)

Çıkış kodları

Betiklerde başarıyı çıkış koduyla kontrol edin:

KodAnlamı
0Başarılı
1Genel hata
2Kullanım hatası (eksik veya geçersiz argüman, dosya bulunamadı)
4Zaman damgası (TSA) hatası
5İmza hatası (token, PIN, sertifika)
bash
if quicksign timestamp -f app.log; then
  echo "damgalandı"
else
  echo "hata kodu: $?"
fi

Örnek: günlük log damgalama

Her gece önceki günün log dosyasını damgalayan bir cron görevi:

bash
# /etc/cron.d/log-damga
15 0 * * * root quicksign timestamp -f /var/log/uygulama/$(date -d yesterday +\%F).log --format container

Üretilen .asics paketi log dosyasını ve zaman damgasını birlikte saklar.

Sorunuzun cevabını bulamadınız mı? [email protected]