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;
}