Tengo un proyecto que consiste en extraer los datos de un DNI. "mediante certificado digital".
para posteriormente hacer una base de datos (nombre, apellidos, nº DNi) en mysql utilizando phpmyadmin.
El servidor "Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-51-generic x86_64)"esta configurado en modo seguro cambiando todas las configuraciones que necesitaria:
- OpenSSL support enabled
- Ubicado en el servidor la clave privada y el certificado del mismo.
- Modificado fichero de configuracion de apache.
- Los certificados los pasamos todos a formato .PEM ya que con el formato .DER no lo permitiría el servidor.
Bueno el problema estaria en este código, en el mismo intento tener lectura del certificado intentando plasmar los datos en una tablita meidante los arrays que vereis a continuación.
Código PHP:
<?php
if (getenv('HTTPS')=='on'){
$cert=$_SERVER['SSL_CLIENT_CERT'];
}else{
$f = fopen("xxx_xxx.cer", "r");
$cert = fread($f, 8192);
fclose($f);
}
$datos = openssl_x509_parse($cert,0);
?>
<?php
$estilo1="<tr style='font-size:12px;background-color:#dddddd'><td style='text-align:right;color:#ff0000'>['";
$estilo2="']</td><td><span style='color:#0000ff'>";
$estilo3="</td></tr>\r\n";
$estilo21="<tr style='font-size:11px;background-color:#cccccc'><td style='text-align:right;color:#ff0000'>['";
$estilo22="']['";
$estilo23="']</td><td style='color:#0000ff'>";
$estilo31= "<tr style='font-size:10px;background-color:#eeeeee'><td style='text-align:right;color:#ff0000'>['";
foreach ($datos as $c1=>$v1){
if (!is_array($v1)){
print $estilo1.$c1.$estilo2.$v1.$estilo3;
}else{
foreach ($datos[$c1] as $c2=>$v2){
if (!is_array($v2)){
print $estilo21.$c1.$estilo22.$c2.$estilo23.$v2.$estilo3;
}else{
foreach ($datos[$c1][$c2] as $c3=>$v3){
print$estilo31.$c1.$estilo22.$c2.$estilo22.$c3.$estilo23.$v3.$estilo3;
}
}
}
}
}
print "</table>" ;
?>
Agradecería cualquier ayuda al respecto.
Muchas gracias de antemano.
Un saludo!