[securemail] Update Composer dependencies
[friendica-addons.git/.git] / securemail / vendor / singpolyma / openpgp-php / examples / keygen.php
1 <?php
2
3 require_once dirname(__FILE__).'/../lib/openpgp.php';
4 require_once dirname(__FILE__).'/../lib/openpgp_crypt_rsa.php';
5
6 $rsa = new \phpseclib\Crypt\RSA();
7 $k = $rsa->createKey(512);
8 $rsa->loadKey($k['privatekey']);
9
10 $nkey = new OpenPGP_SecretKeyPacket(array(
11    'n' => $rsa->modulus->toBytes(),
12    'e' => $rsa->publicExponent->toBytes(),
13    'd' => $rsa->exponent->toBytes(),
14    'p' => $rsa->primes[2]->toBytes(),
15    'q' => $rsa->primes[1]->toBytes(),
16    'u' => $rsa->coefficients[2]->toBytes()
17 ));
18
19 $uid = new OpenPGP_UserIDPacket('Test <test@example.com>');
20
21 $wkey = new OpenPGP_Crypt_RSA($nkey);
22 $m = $wkey->sign_key_userid(array($nkey, $uid));
23
24 // Serialize private key
25 print $m->to_bytes();
26
27 // Serialize public key message
28 $pubm = clone($m);
29 $pubm[0] = new OpenPGP_PublicKeyPacket($pubm[0]);
30
31 $public_bytes = $pubm->to_bytes();