/** * Generates new bitpay encryption keys and saves them. */ private function generateBitpayKeys() { $this->privateKey = new \Bitpay\PrivateKey(THELIA_CACHE_DIR . 'bitpay.pri'); $this->privateKey->generate(); $this->publicKey = new \Bitpay\PublicKey(THELIA_CACHE_DIR . 'bitpay.pub'); $this->publicKey->generate($this->privateKey); $storageEngine = new \Bitpay\Storage\FilesystemStorage(); $storageEngine->persist($this->privateKey); $storageEngine->persist($this->publicKey); }
<?php require __DIR__ . '/../vendor/autoload.php'; $storageEngine = new \Bitpay\Storage\FilesystemStorage(); $private = $storageEngine->load('/tmp/private.key'); $public = new \Bitpay\PublicKey('/tmp/public.key'); $public->setPrivateKey($private); $public->generate(); printf("Public Key: %s\n", $public); printf("Private Key: %s\n", $private); $message = 'https://test.bitpay.com/subscriptions{"schedule":"weekly","token":"some token","billData":{"currency":"USD","price":"2.00","quantity":1}}'; $signedMessage = $private->sign($message); print_r('message to be signed:: ' . $message . "\n"); print_r('signed message:: ' . $signedMessage);