(PECL gnupg >= 0.3)
gnupg_import — Imports a key
Imports the key keydata and returns an array with information about the importprocess.
Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.
The data key that is being imported.
On success, this function returns and info-array about the importprocess. On failure, this function returns FALSE.
Beispiel #1 Procedural gnupg_import() example
<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>
Beispiel #2 OO gnupg_import() example
<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>
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'];
?>
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.