Kapsamlı bir metodoloji, imzalama hattını doğrulama hattından ayırarak hata alanlarını izole etmeye başlar. Test uzmanları, PDF görüntüleyicilerinden bağımsız olarak CMS (Şifreleme Mesaj Yapısı) yapı bütünlüğünü doğrulamak için OpenSSL komut satırı araçlarını kullanarak kriptografik doğrulama gerçekleştirmelidir. Görsel regresyon testleri, Adobe Acrobat, Firefox PDF.js, Chrome PDFium ve mobil iOS PDFKit render'ları arasında imza görünüm widget'larını yakalamak için uygulanmalı, koordinat sistemi yanlış yorumlamalarını tespit etmelidir. Zamansal doğrulama, sistem saatlerini sertifika sona erme tarihlerinin sonrasına ayarlayarak PAdES-LTV zincirlerinin geçerliliğini koruyup korumadığını doğrulamak için OCSP yanıtları ve TSA jetonlarıyla birlikte test edilmelidir.
Bir hukuk teknolojisi firmasında, eIDAS-nitelikli bir güven hizmet sağlayıcısından alınan ECDSA P-256 sertifikaları kullanarak bir sözleşme yürütme platformu kurduk. Kritik hata, macOS üzerinde imzalanan belgelerin Preview ve Adobe Acrobat'ta geçerli imzalar göstermesine karşın, Chrome'un yerel PDF.js görüntüleyicisinin "imza geçerliliği bilinmiyor" rapor etmesiyle belirdi; bu durumda dosya yapısında gömülü OCSP yanıtları mevcut olmasına rağmen.
Üç farklı giderme yaklaşımını değerlendirdik. İlk yaklaşım, daha eski PDF ayrıştırıcılarıyla daha geniş bir uyumluluk sunan RSA 2048 kriptografik anahtarlarına geçiş yapmayı içeriyordu; ancak bu, imza byte boyutlarını yaklaşık olarak yüzde kırk artırdı ve sınırlı hesaplama kaynaklarına sahip mobil cihazlarda performansı önemli ölçüde düşürdü. İkinci yaklaşım, belge yapısını basitleştirmek ve ayrıştırma karmaşasını azaltmak için LTV gömülmesini devre dışı bırakmayı düşündü; ancak bu, imzaların sertifika sona erdikten sonra geçersiz hale gelmesine neden olurdu, bu da yasal bağlamlarda on yıl belge saklama süreleri için düzenleyici zorunluluğu ihlal ederdi. Üçüncü yaklaşım, DSS (Belge Güvenlik Mağazası) sözlüğünü yeniden yapılandırarak OCSP yanıt dizilerini dosya lineasyonunda ByteRange referansından önce yerleştirmeyi hedefledi; bu, PDF.js'in lineer ayrıştırma gereksinimlerini karşıladı ancak dosya boyutlarını artırmadan ya da dayanıklılığı tehlikeye atmadan başarılı oldu, bu da düşük seviyeli PDF nesne manipülasyonu gerektiriyordu.
Üçüncü çözümü seçtik çünkü PDF.js katı lineer ayrıştırma sırası gereksinimlerini zorunlu kılarken Adobe Acrobat daha izin verici bir rastgele erişim ayrıştırma modeline sahiptir. Uygulama, tüm hedef platformlarda tutarlı "imza geçerli" göstergeleri elde etmek için çapraz platform geçerliliği farklılığını çözdü, ayrıca titiz PDF/A-3 uyumu ve uzun vadeli arşiv uyumluluğu için PAdES-LTV dayanıklılığını korudu.
PDF/A uyum düzeyi dijital imza görünürlüğünü ve doğrulama mekanizmalarını nasıl etkiler?
Birçok test uzmanı, PDF/A uyumunu ikili bir durum olarak ele alırken, katmanlı bir spesifikasyon olarak değil. PDF/A-1b yalnızca görsel yeniden üretkenliği sağlarken, PDF/A-2a etiketli yapı ve Unicode karakter haritalarını zorunlu kılar. İmza oluşturulurken, görünüm akışları belgenin DA (Varsayılan Görünüm) dizgisinde yer alan gömülü fontları kullanmalıdır. Eğer imzalama hizmeti, orijinal belgedeki font alt kümesinde bulunmayan sistem fontlarını enjekte ederse, PDF/A doğrulaması, kriptografik imza matematiksel olarak geçerli olsa bile, imzadan sonra başarısız olur. Test uzmanları, imza widget'ları oluşturulurken font alt kümesinin oluştuğunu ve /DR (Varsayılan Kaynaklar) sözlüğünün yalnızca daha önce gömülü font akışlarına atıfta bulunduğunu doğrulamalıdır.
Gömülü OCSP yanıtları neden, kriptografik olarak doğru olsalar bile, LTV (Uzun Süreli Doğrulama) durumunu belirlemek için bazen başarısız olabilir?
Adaylar genellikle yalnızca DSS sözlüğünde OCSP yanıt baytlarının mevcut olduğunu doğrularken, doğrulama zincirinin eksiksizliğini kontrol etmezler. LTV kurulumu, OCSP yanıt verici sertifikası, zaman damgası jetonu ve zaman damgası otoritesi sertifikası da dahil olmak üzere eksiksiz bir güven kök zinciri gerektirir. Eğer OCSP yanıtı, kendi iptal kontrolünü gerektiren bir sertifika ile imzalanmışsa ancak Certs dizisinde yanıt verici için gömülü bir OCSP yanıtı yoksa, Adobe Acrobat LTV modunu etkinleştirmeyi reddeder. Test uzmanları, DSS içindeki Certs dizisinin, kök CA hariç tüm ara sertifikaları içerdiğini ve her zaman damgasının hem imzayı hem de OCSP yanıtını kapsadığını doğrulamalıdır; bu, PAdES-T uyumluluğu minimum seviyesini sağlamak için gereklidir.
Adobe Acrobat ile mobil PDF görüntüleyicileri arasındaki imza görünüm uyumsuzluklarına neden olan faktörler nelerdir?
İmza widget konumlandırmasını tanımlayan Rect (dikdörtgen) dizisi, farklı görüntüleyicilerin farklı yorumladığı sayfa koordinat sistemlerini kullanır. Adobe Acrobat, koordinatları alt sol kök (standart PDF koordinat alanı) üzerinden hesaplarken, iOS PDFKit gibi bazı mobil görüntüleyiciler, Döndür girişleri mevcut olduğunda koordinatları üst sol köklerden hesaplar. Eğer imza widget'ı negatif koordinatlar kullanıyorsa veya MediaBox sınırlarının dışına çıkıyorsa, masaüstü görüntüleyiciler, görünümü mobil uygulamalarla farklı şekilde kırpabilir. Test uzmanları, koordinatları hem CropBox hem de ArtBox sınırlarına karşı doğrulamalı ve sayfa sözlüklerindeki Döndür girişlerinin uygulama XObject üzerindeki dönüşüm matrislerini uygularken dikkatle ele alınması gerektiğini doğrulamalıdır.