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 — キーをインポートする
説明
array gnupg_import
( resource
$identifier
, string $keydata
)
キー 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);
?>
dimitri at digirati dot com dot br ¶
4 years ago
php at cdauth dot de ¶
5 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.
