Rev 824 | Rev 847 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 824 | Rev 830 | ||
---|---|---|---|
Line 45... | Line 45... | ||
45 | $randomString .= $characters[rand(0, $charactersLength - 1)]; |
45 | $randomString .= $characters[rand(0, $charactersLength - 1)]; |
46 | } |
46 | } |
47 | return $randomString; |
47 | return $randomString; |
48 | } |
48 | } |
49 | 49 | ||
- | 50 | function is_privatekey_encrypted($privKey) { |
|
- | 51 | return strpos($privKey,'BEGIN ENCRYPTED PRIVATE KEY') !== false; |
|
- | 52 | } |
|
- | 53 | ||
50 | function verify_private_public_key($privKey, $pubKey) { |
54 | function verify_private_public_key($privKey, $pubKey) { |
51 | if (!function_exists('openssl_public_encrypt')) return false; |
55 | if (!function_exists('openssl_public_encrypt')) return false; |
52 | try { |
56 | try { |
53 | if (empty($privKey)) return false; |
57 | if (empty($privKey)) return false; |
54 | if (empty($pubKey)) return false; |
58 | if (empty($pubKey)) return false; |
Line 61... | Line 65... | ||
61 | } catch (Exception $e) { |
65 | } catch (Exception $e) { |
62 | return false; |
66 | return false; |
63 | } |
67 | } |
64 | } |
68 | } |
65 | 69 | ||
- | 70 | function change_private_key_passphrase($privKeyOld, $passphrase_old, $passphrase_new) { |
|
- | 71 | $pkey_config = array( |
|
- | 72 | //"digest_alg" => "sha512", |
|
- | 73 | //"private_key_bits" => 2048, |
|
- | 74 | //"private_key_type" => OPENSSL_KEYTYPE_RSA, |
|
- | 75 | "config" => class_exists("OIDplus") ? OIDplus::getOpenSslCnf() : @getenv('OPENSSL_CONF') |
|
- | 76 | ); |
|
- | 77 | $privKeyNew = @openssl_pkey_get_private($privKeyOld, $passphrase_old); |
|
- | 78 | if ($privKeyNew === false) return false; |
|
- | 79 | @openssl_pkey_export($privKeyNew, $privKeyNewExport, $passphrase_new, $pkey_config); |
|
- | 80 | if ($privKeyNewExport === false) return false; |
|
- | 81 | return $privKeyNewExport.""; |
|
- | 82 | } |
|
- | 83 | ||
- | 84 | function decrypt_private_key($privKey, $passphrase) { |
|
- | 85 | return change_private_key_passphrase($privKey, $passphrase, null); |
|
- | 86 | } |
|
- | 87 | ||
- | 88 | function encrypt_private_key($privKey, $passphrase) { |
|
- | 89 | return change_private_key_passphrase($privKey, null, $passphrase); |
|
- | 90 | } |
|
- | 91 | ||
66 | function smallhash($data) { // get 31 bits from SHA1. Values 0..2147483647 |
92 | function smallhash($data) { // get 31 bits from SHA1. Values 0..2147483647 |
67 | return (hexdec(substr(sha1($data),-4*2)) & 0x7FFFFFFF); |
93 | return (hexdec(substr(sha1($data),-4*2)) & 0x7FFFFFFF); |
68 | } |
94 | } |
69 | 95 | ||
70 | function split_firstname_lastname($name) { |
96 | function split_firstname_lastname($name) { |