I recommend that the key may be generated in shell command line, then you export the keys using this group of commands.
gpg --export -a "User Name" > public.key
gpg --export-secret-key -a "User Name" > private.key
to use it, at the import and use it for encryption and decryption.
<?php
$GnuPG = new gnupg();
$PublicData = file_get_contents('public.key');
$PrivateData = file_get_contents('public.key');
$PublicKey = $GnuPG->import($PublicData);
$PrivateKey = $GnuPG->import($PrivateData);
echo 'Public Key : ',$PublicKey['fingerprint'],' & Private Key : ',$PrivateKey['fingerprint'];
?>
gnupg_import
(PECL gnupg >= 0.3)
gnupg_import — Importa una llave
Descripción
array gnupg_import
( resource
$identifier
, string $keydata
)
Importa la llave keydata y retorna un array con la
información sobre el proceso de importación.
Parámetros
-
identifier -
El identificador gnupg, desde una llamada a gnupg_init() o gnupg.
-
keydata -
Los datos de la llave que se va a importar.
Valores devueltos
En caso de éxito, esta función retorna un array con la información sobre el
proceso de importación.
En caso de fallo, esta función retorna FALSE.
Ejemplos
Ejemplo #1 Ejemplo de gnupg_import() mediante funciones
<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>
Ejemplo #2 Ejemplo de gnupg_import() mediante OO
<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>
dimitri at digirati dot com dot br ¶
4 years ago
php at cdauth dot de ¶
5 years ago
The return array consists of the following values:
(
[imported] => (int),
[unchanged] => (int),
[newuserids] => (int),
[newsubkeys] => (int),
[secretimported] => (int),
[secretunchanged] => (int),
[newsignatures] => (int),
[skippedkeys] => (int),
[fingerprint] => (string)
)
When invalid content is passed, all values, even skippedkeys, is 0. The fingerprint value does not exist then.
