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 — Importe une clé
Description
array gnupg_import
( resource
$identifier
, string $keydata
)
Importe la clé keydata et retourne un tableau avec
les informations à propos du processus d'importation.
Liste de paramètres
-
identifier -
L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.
-
keydata -
La clé à importer.
Valeurs de retour
En cas de succès, cette fonction retourne un tableau d'information à
propos du processus d'importation.
En cas d'échec, cette fonction retourne FALSE.
Exemples
Exemple #1 Exemple avec gnupg_import() (Style procédural)
<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>
Exemple #2 Exemple avec gnupg_import() (Style orienté objet)
<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>
dimitri at digirati dot com dot br
03-Oct-2008 07:54
php at cdauth dot de
02-Dec-2007 07:33
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.
