Blame | Last modification | View Log | Download | RSS feed
<?
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
// COSTANTI DA RIDEFINIRE
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//define('FILE_CA', '/opt/web/php/sigmater/sec/Cert_CA.pem');
define('FILE_CA', '/home/sigmater/SitoWeb/sigmater/TEU_Test/sec/Cert_CA.pem');
//define('CERT_ENTE', 'file:///opt/web/php/sigmater/sec/Cert_Ente.pem');
define('CERT_ENTE', 'file:///home/sigmater/SitoWeb/sigmater/TEU_Test/sec/Cert_Ente.pem');
//define('PK_ENTE', 'file:///opt/web/php/sigmater/sec/Pk_Ente.pem');
define('PK_ENTE', 'file:///home/sigmater/SitoWeb/sigmater/TEU_Test/sec/Pk_Ente.pem');
//define('PK_PWD', 'liguria_07112007');
define('PK_PWD', 'regioneliguria_0408');
define('ADDR_SERVER', 'https://catasto.tel.agenziaterritorio.it');
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
$template_dir = "../template";
$url = ADDR_SERVER.'/php/ws/N0SC_soap_dispatcher.php?coduff=GE';
define('NS_WSDL', 'http://www.agenziaterritorio.it/ws.wsdl');
define('NS_HEADER', 'http://www.agenziaterritorio.it/segnatura.xsd');
$arr_privkey = array(PK_ENTE, PK_PWD);
$arr_header = array();
$logfile = "./Log/wslog.log";
$debug = true;
$default_log_level = PEAR_LOG_DEBUG;
function read_cert($cert_filename) {
if (!file_exists($cert_filename))
{
return array();
}
$pemdata = implode('', file($cert_filename));
// Get a certificate resource from the PEM string.
$cert_handler = openssl_x509_read($pemdata);
// Parse the resource
$arr_cert_data = openssl_x509_parse($cert_handler);
// Free the resource
openssl_x509_free($cert_handler);
return $arr_cert_data;
}
function get_segnatura_client() {
$arr_Identificatore = array('CodiceAmministrazione' => '',
'CodiceAOO' => '',
'NumeroRegistrazione' => '',
'DataRegistrazione' => '');
// ------------------
$arr_Ruolo = array('Denominazione' => 'Text',
'Identificativo' => '');
$arr_Amministrazione = array('Denominazione' => '',
'CodiceAmministrazione' => '',
'Ruolo' => $arr_Ruolo);
$arr_Mittente = array('Amministrazione' => $arr_Amministrazione,
'AOO' => '');
$arr_Origine = array('IndirizzoTelematico' => '',
'Mittente' => $arr_Mittente);
// ------------------
$arr_Destinazione = array('IndirizzoTelematico' => '');
// ------------------
$arr_Intestazione = array('Identificatore' => $arr_Identificatore,
'Origine' => $arr_Origine,
'Destinazione' => $arr_Destinazione,
'Oggetto' => '');
// ------------------
$arr_Segnatura = array('Intestazione' => $arr_Intestazione);
return $arr_Segnatura;
}
function write_file($fname,$buf) {
$fn = fopen($fname,"a+");
$b = fwrite($fn,$buf);
fclose($fn);
return($b);
}
function verify($pkcs7, $cert_filename) {
// salvo l'allegato su file per poterne verificare la firma
$to_verify_filename = tempnam('./Log', 'P7M_');
$fp = fopen($to_verify_filename, "w");
fwrite($fp, $pkcs7);
fclose($fp);
$cainfo[0] = FILE_CA;
// verifica della firma
$ret = openssl_pkcs7_verify($to_verify_filename, 0, $cert_filename, $cainfo);
//$ret = openssl_pkcs7_verify($to_verify_filename, 0, $cert_filename, $cainfo);
@unlink($to_verify_filename);
// log errori openssl_pkcs7_verify
while($msg = openssl_error_string())
error_log (date("d/m/Y H:i:s")." - VERIFICA FIRMA - ".$msg."\n",3,'./Log/openssl_error.log');
return $ret;
}
function show($var) {
echo"<br>show<pre>";
print_r($var);
echo'</pre><br>';
}
function decode_pkcs7($pkcs7) {
require_once('Mail/mimeDecode.php');
$params['include_bodies'] = TRUE;
$params['decode_bodies'] = TRUE;
$params['decode_headers'] = TRUE;
$params['crlf'] = "\r\n";
$decode = new Mail_mimeDecode($pkcs7);
$structure = $decode->decode($params);
return $structure;
}
function clear_dir($dir) {
$dir = rtrim($dir, '/');
if (is_dir($dir)) {
$dh = opendir($dir);
while (false !== ($file = readdir($dh))) {
if ($file != '.' && $file != '..') {
$path = $dir.'/'.$file;
if (is_dir($path))
clear_dir($path);
else
unlink($path);
}
}
return true;
}
else {
return false;
}
}
?>