Zdravíčko.
Nemá někdo zde nebo někde zkušenosti s kvalifikovanými podpisy přes PHP?
Řeším dilema jak ověřit pravost emailu podle kvalifikovaného certifikátu (e-podpis).
Přes IMAP funkce si vytáhnu vše potřebné zdroj zprávy, adresy, zprávu i samotný podpis smime.p7s. Mám i certifikáty autority.
To je z mé strany vše :( Už se mi jaksi nedaří tu zprávu ověřit. Z PHP manuálu jsou k dispozici funkce openssl_pkcs7_*. Buď se mi nedaří načíst certifikáty nebo vrací false. Strejda google z toho taky není moc moudrý. Proto se ptám, zda někdo má s tímto zkušenosti nebo ví řešení?
Asi před rokem jsem dělal podobné pokusy. Ale jen ze zajímavosti a s podobným výsledkem.. prostě mi to nefungovalo (a protože to nebylo aktuální, tak jsem toho nechal). Avšak pokud se ti to podaří zprovoznit, nešetři prosím s popisem :)
strejda, zkus pritele google (jak byla kdysi ta reklame, ze vam dodaji pritele :) )
openssl php check
* http://php.net/openssl
* openssl_x509_check_private_key — Checks if a private key corresponds to a certificate
* openssl_verify — Verify signature
* openssl_pkcs7_verify — Verifies the signature of an S/MIME signed message
* http://www.php-welt.net/handbuecher/czech/ref.openssl.html
Tohle vypada docela slibne.
* http://www.alexpoole.name/php_stuff/classes/Openssl.php
Uplatňuji z jedno pravidel fóra a dávám aktuální informaci o tomto vlákně. ;)
V prvé řadě rýpnutí do pety ;)
Tvé reakce jsou nepoužitelné i na druhé straně barikády. Tedy u profesionálů. Proč mi sem proboha dáváš všemožné body, když už o nich vím. Nehledě na to, že jsem určitou skupinku napsal hned na začátku.
Problém je ten, že uvedené body jsou mi k ničemu, protože mi nedodali potřebné informace.
A další věc. Když nevíš o čem je řeč, tak sem nereaguj. Hláška "Tohle vypada docela slibne." vypovídá o tom, že vůbec nevíš, o čem se tu bavím. Já potřebuji ověřit zprávu z emailu a ne nějakou obyčejnou třídu, která jen zašifruje nebo dešifruje obyčejný text. S e-podpisy to nemá nic společného.
A teď zpět k tématu. Postřehy za tu dobu co jsem hledal a zkoušel.
V prvé řadě je potřeba si pamatovat, že PHP pracuje výhradně s PEM formátem. To platí jak u uživatelských certifikátu, tak i u certifikačních autorit.
Našel jsem částečné řešení problému. http://bugs.php.net/bug.php?id=34261
Problém je, že funguje jak se mu zachce. Na skutečnou kvalifikovanou zprávu (PostSignum) zareaguje chybou -1. Nějak se mu nelíbí kořenový certifikát a přitom je v pořádku. Na mnou uměle vytvořenou CA a takto podepsanou zprávu zareagoval kladně a zprávu ověřil.
Budu zkoušet dál.
Tomík (tom.czweb.org)
Klidne rypej, ja ti vse objasnim. Problem spis spociva v tom, ze nechces chapat jinou nez svou odpoved. Zkus premyslet, co tim peta myslel?
Nic?
Stale nic?
Dobra, tedy.
Peta si vsiml, ze ve zprave odkazujes na manual. Neuvedl jsi vsak, co konkretne jsi zkousel pouzit. Proto peta zkoukl manual a vybral funkce, ktere se mu zdali nejpravdepodobnejsi. Zkousel jsi je? Pokud vim, pises pouze o 1 typu.
Pak peta zkoukl googla a nasel jakesi, mozna pochybne navody, ktere bys mohl zkouknout. A zrovna ta posledni stranka s jakouci openssl class vypadala na pohled slibne. Samozrejme, ze peta neztracel cas 30ti minutovym zkoumanim kodu, ktere php funkce pouzili (mozna to presne uz mas), takze to ber jen jako nahodny tip.
Pro tvou informaci vim, co chces. potrebujes pracovat s cryptovanym mailem. Jenze to neumis napsat do tematu a v odpovedi pises o ssl, coz je nebe a dudy :)
peta: Každý používá mozek pole svého. Takže pokud na sebe narazí dva géniové, tak to vždy dopadne všelijak ;)
Já se nebráním jakýchkoli odpovědi. Ani tvých. Popravdě jsem ty tvoje možnosti i ověřoval, proto jsem také nereagoval hned.
Problém je spíše v tom, že se snažíš odpovědět na otázku, kterou ty neznáš. Prostě hádáš do větru. Když nevíš, tak neodpovídej. I když na druhou stranu vidím ochotu pomoc. Takže v tomto směru díky. Ale nesmí se to přehánět.
>> Neuvedl jsi vsak, co konkretne jsi zkousel pouzit.
Že neuvedl? A co zmínka o openssl_pkcs7_*()? Zkoušel jsem jen ty funkce, které připadají v úvahu, proto jsem také uvedl výsledky.
>> Pro tvou informaci vim, co chces. potrebujes pracovat s cryptovanym mailem.
Pro tvou informaci nevíš. Sice se pracuje s šifrovanými zprávami, proto se používá knihovna openssl, ale s SSL to vůbec nemá nic společného. Tam se pracuje s jinými protokoly a formáty.
Kdybys znal problematiku e-podpisu nebo šifrovaných emailů, pak bys určitě napsal něco smysluplného. Takže žádné nebe a dudy.
Po precteni tematu a Freezovi odpovedi mi bylo jasne, ze podobny problem tu nikdo neresil. Tak jsem zkusil trosku googlovat, nic vic, nic min. Vubec jsem se k tomu nerozepisoval a ty z toho delas vedu. Proste napisi, ze jsi to zkousel tez a nic.