Digitální podpis PDF v PHP

TTTTTTT

Re:Digitální podpis PDF v PHP
« Odpověď #15 kdy: 19. 10. 2015, 23:59:40 »
K podpisu je potřeba certifikát a k němu příslušející privátní klíč. Dle pojmenování z php scriptu tedy cat signcert.pem private.pem > sign.pem. Certifikační autorita je potřeba jen při ověření podpisu.

Citace
Když použiji čistě privátní zašifrovaný ...
..., tak to řve, že mu chybí certifikát

Citace
Když zkusím ale privátní s certifikátem certifikační autority ...
..., tak to řve, že privátní klíč neodpovídá veřejnému klíči v certifikátu.

Příkaz pro kontrolu, že jsou certifikáty správně:

Kód: [Vybrat]
echo -n "hello world" | \
  openssl cms  -sign -signed sign.pem -nodetach | \
  openssl cms  -verify -CAfile ca.pem

-nodetach říká, že má certifikát být v součástí podepsané zprávy, pamatuju-li si dobře. Zdá se, že certifikáty máte správně, pokud to openssl vezme.

Stránka na serveru se možná spustit nedá, ale mohlo by pomoct udělal si php skript, který bude volat jen tuhle jednu funkci a odladit do mimo server. Třeba nakonec zjistíte, že skript je dobře, jen ten server nemá přístup k certifikátům...


kejhal

Re:Digitální podpis PDF v PHP
« Odpověď #16 kdy: 20. 10. 2015, 10:10:03 »
Když zkusím zmiňovaný postup, příkaz, tak jsem dostal pouze tuto odpověď.

Kód: [Vybrat]
Error reading S/MIME message
140735151387472:error:0D0D40D1:asn1 encoding routines:SMIME_read_ASN1:no content type:asn_mime.c:440:

Nakonec se to budu nejspíš stejně snažit vyřešit podpisem přes bashový skript, který phpko zavolá. Přijde mi to jako rychlejší cesta na vyřešení, snad si s tímto už poradím a najdu, co zmiňovaný chyba znamená.

Petr

Re:Digitální podpis PDF v PHP
« Odpověď #17 kdy: 20. 10. 2015, 10:22:58 »
Podobne jsem v tom plaval take. Doporucuju podivat se do TCPDF, ta vyuziva stejnou fukci a me funguje. Pozdeji jsem podobny model implementoval do jineho pho , kde podpis vytvarime mimo tcpdf, dal jsme to dokonce prenesli i do C kodu a posledni aplikace s podpisem byla opacna - ta podpis z pdf ziskava, kontroluje - to posledni uz ale bylo o napsani vlastni php extension.

Pkcs7 je v pohode, takto to do php opravdu jde, myslim ze v hex konvezi, zarovnava se to nulami, no detail je vide zkoumanim kodu v tcpdf

kejhal

Re:Digitální podpis PDF v PHP
« Odpověď #18 kdy: 20. 10. 2015, 11:30:41 »
@Petr, aspoň, že vím, že to teda někomu funguje. Právě, že já jsem se to pokoušel to vykuchat z toho tcpdfka.
Když už jsi s tím měl takovouto zkušenost, můžu tě poprosit, co je obsahem těch tvých certifikátů? Respektive co by správně měl obsahovat ten první, "signing_cert" a co všechno "private_key"? Protože i když jsem to zkusil udělat přes tcpdf, tak s tím nehnu a věřím, že chyba musí být v tom, co obsahují ty soubory, jen prostě nevím co ty soubory správně musí obsahovat.

Petr

Re:Digitální podpis PDF v PHP
« Odpověď #19 kdy: 21. 10. 2015, 22:34:01 »
@Petr, aspoň, že vím, že to teda někomu funguje. Právě, že já jsem se to pokoušel to vykuchat z toho tcpdfka.
Když už jsi s tím měl takovouto zkušenost, můžu tě poprosit, co je obsahem těch tvých certifikátů? Respektive co by správně měl obsahovat ten první, "signing_cert" a co všechno "private_key"? Protože i když jsem to zkusil udělat přes tcpdf, tak s tím nehnu a věřím, že chyba musí být v tom, co obsahují ty soubory, jen prostě nevím co ty soubory správně musí obsahovat.

Ozvi se mi na petr@xgw.cz a pokusim se pomoci :-)