gnupg_init

(PECL gnupg >= 0.4)

gnupg_initInicializa una conexión

Descripción

gnupg_init(?array $options = null): resource

Parámetros

options

Debe ser un array asociativo. Se utiliza para modificar la configuración por omisión del motor criptográfico.

Sustitución de la configuración
Clave Tipo Descripción
file_name string Es el nombre de fichero del programa ejecutable que implementa este protocolo, que generalmente es la ruta del ejecutable gpg.
home_dir string Es el nombre del directorio de configuración. También sustituye a la variable de entorno GNUPGHOME que se utiliza con el mismo propósito.

Valores devueltos

Un recurso de conexión GnuPG, utilizado por otras funciones GnuPG.

Historial de cambios

Versión Descripción
PECL gnupg 1.5.0 Se ha añadido el argumento options.

Ejemplos

Ejemplo #1 Ejemplo con gnupg_init() con configuración por omisión (Estilo procedimental)

<?php
$res
= gnupg_init();
?>

Ejemplo #2 Ejemplo con gnupg_init() con nombre de fichero y directorio de origen sobrescritos (Estilo procedimental)

<?php
$res
= gnupg_init(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);
?>

Ejemplo #3 Ejemplo con gnupg_init() con configuración por omisión (Estilo orientado a objetos)

<?php
$gpg
= new gnupg();
?>

Ejemplo #4 Ejemplo con gnupg_init() con nombre de fichero y directorio de origen sobrescritos (Estilo orientado a objetos)

<?php
$gpg
= new gnupg(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);
?>

add a note

User Contributed Notes 2 notes

up
7
der_axel at gmx dot de
7 years ago
Set the correct GNUPG environment, before you call gnupg_init()!

The current FPM/FastCGI/Module User must have read - if you import write - permissions on that directory. You won't get an error message, if something is not correct.
Without a correct environment, all other gnupg functions will not work as you expected.

<?php
// Enter your .gnupg environment
putenv('GNUPGHOME=/var/www/vhosts/yourdomain/.gnupg');
error_reporting(E_ALL);
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING);
$info = gnupg_keyinfo($res, 'your-key-id');
echo
"Key - Info<pre>";
var_dump($info);
echo
"</pre>";
?>
up
2
djmaze
3 years ago
Make sure home_dir option is not too many characters or else private keys fail.

You will notice that functions take a long time (seconds).

Commandline test yield error:
> gpg: can't connect to the agent: IPC connect call failed

Executing `gpg-agent --daemon --homedir /very/long/path/to/.gnupg` gave the error.
> socket name for '/very/long/path/to/.gnupg/S.gpg-agent.extra' is too long

So you must check that home_dir + '/S.gpg-agent.extra' is:
* < 107 characters on Linux
* < 104 on BSD 4.4
To Top