PrivateKey
class PrivateKey extends EC implements PrivateKey (View source)
EC 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 | Signature Format | from EC |
protected Hash | $hash | Hash function | from AsymmetricKey |
static protected bool[] | $engines | Available Engines | from AsymmetricKey |
protected object[] | $QA | Public Key QA | from EC |
protected Base | $curve | Curve | from EC |
protected string | $shortFormat | Signature Format (Short) | from EC |
protected BigInteger | $q | Curve Order | from EC |
protected BigInteger | $x | Alias for the private key | from EC |
protected string | $context | Context | from EC |
protected object | $dA | Private Key dA |
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.
Multiplies an encoded point by the private key
Create a signature
Returns the private key
Returns the public key
Details
in
EC at line 247
protected
__construct()
Constructor
PublicKey and PrivateKey objects can only be created from abstract RSA class
static protected
initialize_static_variables()
Initialize static variables
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)
in
EC at line 469
string
__toString()
__toString() magic method
in
EC at line 449
withHash(string $hash)
Determines which hashing function should be used
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
EC at line 140
static PrivateKey
createKey(string $curve)
Create public / private key pair.
in
EC at line 213
static protected bool
onLoad(array $components)
OnLoad Handler
in
EC at line 263
string|array
getCurve()
Returns the curve
Returns a string if it's a named curve, an array if not
in
EC at line 311
int
getLength()
Returns the key size
Quoting https://tools.ietf.org/html/rfc5656#section-2,
"The size of a set of elliptic curve domain parameters on a prime curve is defined as the number of bits in the binary representation of the field order, commonly denoted by p. Size on a characteristic-2 curve is defined as the number of bits in the binary representation of the field, commonly denoted by m. A set of elliptic curve domain parameters defines a group of order n generated by a base point P"
in
EC at line 324
string
getEngine()
Returns the current engine being used
in
EC at line 342
string
getEncodedCoordinates()
Returns the public key coordinates as a string
Used by ECDH
in
EC at line 361
mixed
getParameters(string $type = 'PKCS1')
Returns the parameters
in
EC at line 380
withSignatureFormat(string $format)
Determines the signature padding mode
Valid values are: ASN1, SSH2, Raw
in
EC at line 397
getSignatureFormat()
Returns the signature format currently being used
in
EC at line 412
withContext(string $context = null)
Sets the context
Used by Ed25519 / Ed448.
in
EC at line 438
getContext()
Returns the signature format currently being used
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.
string
multiply(string $coordinates)
Multiplies an encoded point by the private key
Used by ECDH
sign($message)
Create a signature
toString($type, array $options = [])
Returns the private key
getPublicKey()
Returns the public key