[Java] Podepisování PDF

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod georg68 22. 7. 2021 13:26

Zdravím, snažím se pomocí javy podepsat pdf soubor (kód viz dole). Jestli jsem dobře pochopil princip, tak podepsání znamená zápis nějaké informace do pdf a dále už nezáleží na tom, zda na stanici, kde soubor prohlížím, je nainstalovaný nějaký certifikát nebo ne.

Záhada spočívá v tom, že u mě na stanici vidím, že podpis je neplatný: "Vybraný certifikát má chyby: Neplatné omezení zásad": kdežto Ostatní kolegové ve firmě ho vidí jako platný.

Poradíte někdo ? Díky.

Kód: Vybrat vše
File inFile = new File(cesta_pdf);                                   
FileInputStream fin = new FileInputStream(inFile);
PdfReader reader;
reader = new PdfReader(fin);

KeyStore ks = KeyStore.getInstance("pkcs12");
ks.load(new FileInputStream(path_pkx), certPass.toCharArray());
String alias = (String)ks.aliases().nextElement();
PrivateKey key = (PrivateKey)ks.getKey(alias, certPass.toCharArray());
Certificate[] chain = ks.getCertificateChain(alias);

FileOutputStream fout = new FileOutputStream("c:\\vystup\\signed.pdf");
PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0');
PdfSignatureAppearance sap = stp.getSignatureAppearance();
sap.setLayer2Font(new Font(BaseFont.createFont(BaseFont.TIMES_ROMAN, "Cp1250", true)));
sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED);

int x = 100;
int y = 780;
int s = 60;

sap.setVisibleSignature(new Rectangle(x, y, x+s, y + s), 1, null);

stp.close();
fin.close();
fout.close();
georg68
Junior


Odeslat příspěvekod georg68 30. 7. 2021 12:11

Díky za odpověď, ale zatím moc nerozumím. Jestli jsem dobře pochopil ten dokument, tak Adobe bude uznávat jen certifikáty jen určitých vydavatelů, jakýsi Adobe Approved Trust List (AATL). Náš certifkát vydala I.CA, která v tom listu je, a přesto ho hlásí jako neplatný.
georg68
Junior

Odeslat příspěvekod JirkaVejrazka 30. 7. 2021 13:28

Ja bohuzel vic nevim, s Adobe produkty moc nepracuju. Zkusil ses obratit na jejich podporu?
JirkaVejrazka
Mírně pokročilý



Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků