gnupg_import

(PECL gnupg:0.3-1.3.1)

gnupg_import — Imports a key

Описание

array gnupg_import ( resource $identifier , string $keydata )

Imports the key keydata and returns an array with information about the importprocess.

Возвращаемые значения

On success, this function returns and info-array about the importprocess. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_import() example

<?php
$res 
gnupg_init();
$info gnupg_import($res,$keydata);
print_r($info);
?>

Пример #2 OO gnupg_import() example

<?php
$gpg 
= new gnupg();
$info $gpg -> import($keydata);
print_r($info);
?>

Коментарии

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.
2007-12-02 09:33:47
http://php5.kiev.ua/manual/ru/function.gnupg-import.html
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'];

?>
2008-10-03 22:54:13
http://php5.kiev.ua/manual/ru/function.gnupg-import.html
Автор:
In case anybody tries to import keys from file and ends up with return value "false", and absolutely no errors or warnings whatsoever.

gpg module still operates the same way as command line / bash invoked gpg.

If you are runnig a script from under apache, gpg is trying to acces it's ~/.gnupg that likely does not exist for apache user www-data or equivalent:

# su www-data -s /bin/bash -c "gpg"
gpg: Fatal: can't create directory '/var/www/.gnupg': Permission denied

You simply need to created that folder and chown it to apache user www-data or equivalent.

# mkdir /var/www/.gnupg
# chown www-data:www-data /var/www/.gnupg
2021-08-02 20:08:25
http://php5.kiev.ua/manual/ru/function.gnupg-import.html

    Поддержать сайт на родительском проекте КГБ