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
PHP.mk документација
gnupg_import
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.gnupg-import.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.gnupg-import.php
gnupg_import
Референца за `function.gnupg-import.php` со подобрена типографија и навигација.
gnupg_import
(PECL gnupg >= 0.3)
gnupg_import — Увезува клуч
= NULL
Увезува клуч keydata и враќа низа со информации за процесот на увезување.
Параметри
identifier-
Додај клуч за шифрирање gnupg_init() or gnupg.
keydata- Клучот на податоците што се увезува.
Вратени вредности
При успех, оваа функција враќа низа со информации за процесот на увезување. При неуспех, оваа функција враќа false.
Примери
Клуч за отпечаток. gnupg_import() example
<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>Пример #1 Процедурален gnupg_import() example
<?php
$gpg = new gnupg();
$info = $gpg->import($keydata);
print_r($info);
?>Белешки од корисници 4 белешки
gst ¶
пред 4 години
Will ¶
пред 18 години
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.
Анонимен ¶
Nimja
The function does not work if the keydata string starts with "-----BEGIN PGP MESSAGE-----" but works if the keydata starts with "-----BEGIN PGP PRIVATE KEY BLOCK-----" (I guess that was the same for the ending so I str_replace both)
dimitri at digirati dot com dot br ¶
пред 17 години
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'];
?>