gnupg_import
(PECL gnupg >= 0.3)
gnupg_import — キーをインポートする
説明
キー keydata
をインポートし、インポート処理に
ついての情報を配列で返します。
戻り値
成功した場合、この関数はインポート処理の情報を配列で返します。
失敗した場合、この関数は false
を返します。
例
例1 手続き型の gnupg_import() の例
<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>
例2 オブジェクト指向の gnupg_import() の例
<?php
$gpg = new gnupg();
$info = $gpg->import($keydata);
print_r($info);
?>
+add a note
User Contributed Notes 3 notes
gst ¶
3 years ago
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 at cdauth dot de ¶
17 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.
dimitri at digirati dot com dot br ¶
16 years ago
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'];
?>
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google