Subversion Repositories oidplus

Rev

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) {