PrivateKey
class PrivateKey extends DH (View source)
DH Private Key
Traits
Constants
ALGORITHM |
Algorithm Name |
Properties
static protected BigInteger | $zero | Precomputed Zero | from AsymmetricKey |
static protected BigInteger | $one | Precomputed One | from AsymmetricKey |
protected string | $format | Format of the loaded key | from AsymmetricKey |
protected Hash | $hash | Hash function | from AsymmetricKey |
static protected bool[] | $engines | Available Engines | from AsymmetricKey |
protected BigInteger | $prime | DH prime | from DH |
protected BigInteger | $base | DH Base | from DH |
protected BigInteger | $privateKey | Private Key | |
protected BigInteger | $publicKey | Public Key |
Methods
Loads a private key
Load the key, assuming a specific format
Loads a private key
Loads parameters
Validate Plugin
Flag to use internal engine only (useful for unit testing)
Compute the pseudorandom k for signature generation, using the process specified for deterministic DSA.
Compute Shared Secret
Returns the public key
Returns the private key
Details
protected
__construct()
The constructor
static protected
initialize_static_variables()
Initialize static variables
in
DH at line 323
static AsymmetricKey
load(string $key, string $password = false)
Load the key
PrivateKey
loadPrivateKey(string|array $key, string $password = '')
Loads a private key
PublicKey
loadPublicKey(string|array $key)
Loads a public key
AsymmetricKey
loadParameters(string|array $key)
Loads parameters
static AsymmetricKey
loadFormat(string $type, string $key, string $password = false)
Load the key, assuming a specific format
PrivateKey
loadPrivateKeyFormat(string $type, string $key, string $password = false)
Loads a private key
PublicKey
loadPublicKeyFormat(string $type, string $key)
Loads a public key
AsymmetricKey
loadParametersFormat(string $type, string|array $key)
Loads parameters
static protected mixed
validatePlugin(string $format, string $type, string $method = NULL)
Validate Plugin
static array
getSupportedKeyFormats()
Returns a list of supported formats.
static bool
addFileFormat(string $fullname)
Add a fileformat plugin
The plugin needs to either already be loaded or be auto-loadable. Loading a plugin whose shortname overwrite an existing shortname will overwrite the old plugin.
mixed
getLoadedFormat()
Returns the format of the loaded key.
If the key that was loaded wasn't in a valid or if the key was auto-generated with RSA::createKey() then this will throw an exception.
null|string
getComment()
Returns the key's comment
Not all key formats support comments. If you want to set a comment use toString()
static
useBestEngine()
Tests engine validity
static
useInternalEngine()
Flag to use internal engine only (useful for unit testing)
string
__toString()
__toString() magic method
in
DH at line 368
withHash(string $hash)
Determines which hashing function should be used
in
DH at line 378
getHash()
Returns the hash algorithm currently being used
protected string
computek(string $h1)
Compute the pseudorandom k for signature generation, using the process specified for deterministic DSA.
protected BigInteger
bits2int(string $in)
Bit String to Integer
in
DH at line 83
static DH|bool
createParameters(...$args)
Create DH parameters
This method is a bit polymorphic. It can take any of the following: - two BigInteger's (prime and base) - an integer representing the size of the prime in bits (the base is assumed to be 2) - a string (eg. diffie-hellman-group14-sha1)
in
DH at line 245
static PrivateKey
createKey(Parameters $params, int $length = 0)
Create public / private key pair.
The rationale for the second parameter is described in http://tools.ietf.org/html/rfc4419#section-6.2 :
"To increase the speed of the key exchange, both client and server may reduce the size of their private exponents. It should be at least twice as long as the key material that is generated from the shared secret. For more details, see the paper by van Oorschot and Wiener [VAN-OORSCHOT]."
$length is in bits
in
DH at line 271
static mixed
computeSecret(PrivateKey|EC $private, PublicKey|BigInteger|string $public)
Compute Shared Secret
in
DH at line 339
static protected bool
onLoad(array $components)
OnLoad Handler
in
DH at line 393
mixed
getParameters()
Returns the parameters
A public / private key is only returned if the currently loaded "key" contains an x or y value.
withPassword(string|bool $password = false)
Sets the password
Private keys can be encrypted with a password. To unset the password, pass in the empty string or false. Or rather, pass in $password such that empty($password) && !is_string($password) is true.
PublicKey
getPublicKey()
Returns the public key
string
toString(string $type, array $options = [])
Returns the private key