Native Linux ABI Timestamp Transport'u
Native Linux imzalama işleri, genişletilmiş bir işlem kaydı üzerinden gerçek RFC 3161 timestamp transport'unu destekler; orijinal ABI sürümü, işlem öneki, dışa aktarılan fonksiyon ve sıradan işlem kayıt boyutu değişmeden kalır
typedef hpdf_status (HPDF_CDECL *hpdf_timestamp_transport_v1)(
void *user_data, const void *request, size_t request_length,
const hpdf_io_v1 *response_io);
typedef struct hpdf_signing_operation_v1 {
hpdf_operation_v1 operation;
void *timestamp_user_data;
hpdf_timestamp_transport_v1 timestamp_transport;
} hpdf_signing_operation_v1;
Kayıt ve JSON yapılandırması
Orijinal işlem alanlarını başlatın ve operation.struct_size'ı sizeof(hpdf_signing_operation_v1)'a ayarlayın; &record.operation'ı, schemaVersion 1 sign job ve timestamp: true ile hpdf_document_execute_json_v1'e geçirin
Uzantı, native Linux x86-64'te 72 bayttır; orijinal hpdf_operation_v1 56 bayt kalır ve hpdf_abi_operation_v1_size o orijinal boyutu bildirmeye devam eder
timestampTrustedCAFile, TSA trust köklerini sağlar; isteğe bağlı timestampTrustedCRLFile ve requireTimestampRevocation, açık revocation doğrulamasını sağlar
Callback, gerçek DER timestamp isteğini alır; imza imprint'i ve üretilmiş nonce dâhil; verilen yazma callback'i üzerinden gerçek DER yanıt baytları döndürün ve bir ABI durumu döndürün
Sahiplik ve cancellation
Transport, çağıran iş parçacığında senkron çalışır; istek baytları, yanıt callback tablosu ve yanıt user data yalnızca transport dönene kadar ödünç alınır
Transport işi sırasında response_io->is_cancelled yoklayın, yanıt yazma hatalarına uyun ve ağ veya subprocess son teslim sürelerini uygulama callback'inde uygulayın
maxTimestampResponseBytes, varsayılan olarak 4194304 bayt ve işlem working bütçesinin sekizde biri arasındaki küçük olanıdır; yapılandırılmış bir sınır pozitif olmalı ve o working-bütçe kesrini aşamaz
Kütüphane, uygulama callback'i daha sonra başarı döndürse bile başarısız veya iptal edilmiş yanıt yazmasını korur; timestamp hataları, imzasız yüklenmiş context'i korur ve imzalı çıktı yayınlamaz
Doğrulama ve sonuçlar
Native uygulama, signatureTimeStampToken özniteliğini ekleyip imzayı yayınlamadan önce yanıt durumunu, imza imprint'ini, nonce'u, TSA sertifika amacını, sertifika zincirini ve istenen revocation politikasını doğrular
İmzalama sonuçları timestampCount, timestampValid ve timestampTrustEvaluated içerir; signatures.verify, requireTimestamp ve aynı açık TSA trust/revocation options'larını kabul eder
Kabul
Her iki native Linux derleyicisi de 319 gerçek ctypes assertion, 39 gerçek C timestamp-client assertion, 33 mevcut C ABI assertion ve 296 bağımsız çıktı denetimi geçer
Bağımsız OpenSSL doğrulaması, CMS imzalarını ve gömülü timestamp token'larını kimikler, değişmiş imza imprint'lerini ve iptal edilmiş TSA sertifikalarını reddeder ve timestamp'li düz ve AES-256 R5/R6 belgelerini doğrular
Native imzalama işleri · Native C ABI · Pascal timestamp transport'u