Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Elektronski potpis XML dokumenta CA sertifikatom

[es] :: PHP :: Elektronski potpis XML dokumenta CA sertifikatom

[ Pregleda: 6024 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nlekic
Nikola Lekic
Beograd

Član broj: 25222
Poruke: 15
93.86.154.*



Profil

icon Elektronski potpis XML dokumenta CA sertifikatom04.06.2009. u 20:22 - pre 180 meseci
Imam sledeci problem sa kojim se mucim nekoliko dana:

Treba da u vec postojecu web aplikaciju php/MySQL implemantiram digitalno potpisivanje XML dokumenenata od strane klijenata. Digitalno potpisivanje ce se raditi Postinim sertifikatom sa USB tokena i nakon potpisivanja XML se salje dalje.
Koristi se enveloped tehnika potpisivanja i koristi se SHA1 algoritam za potpisivanje. Takodje treba da sa druge strane uradim i verifikaciju odgovora.
Koristim XAMPP.
Do pre nekoliko dana o ovoj problematici sam znao samo najosnovnije.
Izanalizirao sam malo problem i shavtio kako cu da proveravam podatke sa sertifikata i kako cu programski da odradim samo potpisivanje medjutim imam startne probleme:

1.Kako podesiti Apache i konfiguracioni fajl za open_ssl?
2.Odakle cu programski da selektujem instalirani sertifikat?

Izvinjavam se unapred ako nisam najbolje pretrazio sajt i ako je negde vec postojao odgovor.

[Ovu poruku je menjao Goran Rakić dana 05.06.2009. u 01:08 GMT+1]
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Digitalni potpis XML dokumenta CA sertifikatom04.06.2009. u 22:03 - pre 180 meseci
Da li ti treba da taj potpis bude kvalifikovan ili ti to nije bitno?
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

nlekic
Nikola Lekic
Beograd

Član broj: 25222
Poruke: 15
93.87.199.*



Profil

icon Re: Digitalni potpis XML dokumenta CA sertifikatom04.06.2009. u 22:43 - pre 180 meseci
Da, potrebno je da potpis bude kvalifikovan.
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Digitalni potpis XML dokumenta CA sertifikatom04.06.2009. u 23:02 - pre 180 meseci
Onda vodi računa da tvoje rešenje mora da poštuje Pravilnik o tehničko tehnološkim uslovima i poželjno je radi tvoje sigurnosti da ima sertifikaciju kvalifikovanog sertifikacionog tela. Potpisivanje naravno moraš da radiš na strani klijenta (Java aplet, ActiveX, browser addon, Xforms DSIG,... zavisno od softvera za koji se odlučiš). Dok ne stigne odgovarajuća sudska praksa za sada je ipak najsigurnije da koristiš aplikaciju koju distribuira CePP.

[Ovu poruku je menjao Goran Rakić dana 05.06.2009. u 00:29 GMT+1]
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

nlekic
Nikola Lekic
Beograd

Član broj: 25222
Poruke: 15
93.87.199.*



Profil

icon Re: Digitalni potpis XML dokumenta CA sertifikatom04.06.2009. u 23:28 - pre 180 meseci
U ovoj konkretnoj situaciji postoje neka dogovorena pravila i provere koje treba ispuniti.
Ja imam neku aplikaciju koja je pisana u .NET i koja bi uz male modifikacije mogla da odradi posao podpisivanja, moj problem je u tome sto ja zelim da kod za potpisivanje uradim u PHPu kako bi mi kompletna aplikacija bila zaokruzena jer su sve ostale funkcionalnosti oko slanja i prijema odgovora na XML izvestaje radjene u PHPu
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Digitalni potpis XML dokumenta CA sertifikatom04.06.2009. u 23:35 - pre 180 meseci
Samo potpisivanje moraš da radiš na strani klijenta, ne znam kako si ti to drugačije zamislio?

PHP onda može regularno da primi potpisani dokument preko HTTP POST i da ti na serveru uradiš verifikaciju potpisa (koliko se sećam Pošta nudi LDAP i HTTP metod za proveru opoziva). Potpisivanje možeš da integrišeš u veb preglednik tako da korisnik ne mora da koristi neki drugi program, na način kako ti već dozvoljava okruženje u kome radiš.

Ja nemam iskustva kako da se osiguraš da to potpisivanje jeste kvalifikovano, pa ti savetujem da ako je pitanje osetljivo, a ne koristite softver CePP-a obavezno tražite ekspertizu Pošte ili da potpišete posebne ugovore sa korisnicima kao što se radilo pre donošenja zakona. Voleo bih da čujem savete od drugih na ovu temu.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

stankons
Stanko Milošev
ise Gmbh, Deutschland
Bonn

Član broj: 99408
Poruke: 231
*.trinet.si.

ICQ: 147767352
Sajt: www.milosev.com


Profil

icon Re: Elektronski potpis XML dokumenta CA sertifikatom05.06.2009. u 09:39 - pre 180 meseci
PHP ti je server side jezik. Ako ćeš koristiti sertifikat od korisnika ne možeš potpisivati na server side - u, odnosno možeš, ali korisnik treba da ti pošalje svoj sertifikat, a mislim da ne bi bili baš oduševljeni da to rade :)

Radio sam potpisivanje iz Delphi - a, koristio sam SecureBlackBox komponente (http://www.eldos.com/sbb/) imas i za ActiveX i .Net...

Što se tiče validacije potpisa, tu sam imao problema, pošto svako ima neku svoju filozofiju potpisa, a svi se pozivaju na neke standarde, nekako najsigurnije mi je bilo da koristim XML Security Library:

http://www.aleksey.com/xmlsec/

Pošto ako ti potpis prođe sa njima, onda je 100% validan... inače zavisi gde šalješ XML i kakav imaju software na toj strani...

Imaš i na mom sajtu program koji koristim i za potpisivanje i za validaciju (XmlSec library):

http://www.milosev.com/index.p...=10:cryptography&Itemid=64

Što se tiče Apache - a i OpenSSL - a, moraš da skineš modul za Apache, bar kad sam ja testirao, za novu verziju nema baš zvanično, nego sam iskopao negde sa sajta...

Eto, nadam se da će ti nešto od ovoga pomoći...
 
Odgovor na temu

nlekic
Nikola Lekic
Beograd

Član broj: 25222
Poruke: 15
194.106.182.*



Profil

icon Re: Elektronski potpis XML dokumenta CA sertifikatom05.06.2009. u 11:02 - pre 180 meseci
Od ranog jutra visim na http://www.aleksey.com/xmlsec/
Znam da verovatno postavljam glupa pitanja, ali sta cu kad ne znam :)

Uzeo sam njihovu klasu xmlsec.class.php
Potreban mi je fajl keys.xml koji ce sadrzati kljuceve mojih CA sertifikata koje korisnici koriste za potpisivanje.
Problem mi je sto ja ne mogu da napunim ovaj fajl.
Sve u svemu, ako je neko radio sa ovom klasom, pomoc bi bila dragocena

Evo dole prilazem funkciju kojom pravi keys.xml problem su mi parametri sa kojima treba da pozovem funkciju
sto se tice $cafiles ne znam sta treba da stavim u taj niz jer ja is sertifikata jedino mogu da napravim .cer fajl

/******
* addkey - add key info into xml keyfile.
*
* @parametr $keyfilename - the name of keyfile
* @parametr $keyname - the name of key
* @parametr constant $type - the type of keyfile
* @parametr $cafiles - array of ca filenames: array( ca1_filename, ca2_filename)
******/
function addkey( $keyfilename , $keyname, $type , $cafiles = null )
{

/*
if (!file_exists( $keyfilename )) {
$this->errorMsg = "the keyfile $keyfilename d't exist";
return false;
}
*/
/*
if ( $keyname == '' ){
$this->errorMsg = "the keyname is null string";
return false;
}
*/
if (!preg_match("/^([\w_-])+$/", $keyname ) ){
$this->errorMsg = "the keyname must the alpabetic and numeric string";
return false;
}

$str_cafiles = '';
$keytype = '';
if ( $type == XMLSEC_AES )
$keytype = '--aeskey:'.$keyname;
if ( $type == XMLSEC_DES )
$keytype = '--deskey:'.$keyname;

if ( $type == XMLSEC_PRIV_PEM ){
$keytype = '--privkey-pem:'.$keyname;
if ( is_array($cafiles) )
$str_cafiles = ','.implode(',', $cafiles );
}

if ( $type == XMLSEC_PRIV_DER ){
$keytype = '--privkey-der:'.$keyname;
if ( is_array($cafiles) )
$str_cafiles = ','.implode(',', $cafiles );
}

if ( $type == XMLSEC_PKCS_PEM ){
$keytype = '--pkcs-pem:'.$keyname;
if ( is_array($cafiles) )
$str_cafiles = ','.implode(',', $cafiles );
}

if ( $type == XMLSEC_PKCS_DER ){
$keytype = '--pkcs8-der:'.$keyname;
if ( is_array($cafiles) )
$str_cafiles = ','.implode(',', $cafiles );
}

if ( $type == XMLSEC_PUB_PEM ){
$keytype = '--pubkey-pem:'.$keyname;
}


if ( $type == XMLSEC_ROOT_CA_DER ){
$keytype = '--trusted-der';
}

if ( $type == XMLSEC_ROOT_CA_PEM ){
$keytype = '--trusted-pem';
}

if ( $type == XMLSEC_UNTRAST_CA_DER ){
$keytype = '--untrusted-der' ;
}

if ( $type == XMLSEC_UNTRAST_CA_PEM ){
$keytype = '--untrusted-pem' ;
}

if ( $type == XMLSEC_PUB_CERT_PEM ){
$keytype = '--pubkey-cert-pem:'.$keyname;
}

if ( $type == XMLSEC_PUB_CERT_DER ){
$keytype = '--pubkey-cert-der:'.$keyname;
}

if ($keytype == ''){
$this->errorMsg = "undefine type of key";
return false;
}

$keysfile = '';
if (file_exists( $this->xmlkeyfilename )) {
$keysfile = ' --keys-file '.$this->xmlkeyfilename;
}

$cmd = "xmlsec1 keys $keytype $keyfilename"."$str_cafiles $keysfile $this->xmlkeyfilename 2>&1";
$this->cmd =$cmd;
// die($cmd);
$res = $this->exec( $cmd);
$this->errorMsg = $res ;

return;

}

 
Odgovor na temu

[es] :: PHP :: Elektronski potpis XML dokumenta CA sertifikatom

[ Pregleda: 6024 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.