abstract class OpenSSH extends OpenSSH (View source)

OpenSSH Formatted EC Key Handler

Traits

Generic EC Key Parsing Helper functions

Properties

static protected string $comment Default comment from  OpenSSH
static protected bool $binary Binary key flag from  OpenSSH
static protected bool $childOIDsLoaded Child OIDs loaded from  Common
static protected array $types Supported Key Types

Methods

static 
setComment(string $comment)

Sets the default comment

from  OpenSSH
static array
load(string $key, string $password = '')

Break a public or private key down into its constituent components

static 
setBinaryOutput(bool $enabled)

Toggle between binary and printable keys

from  OpenSSH
static string
wrapPrivateKey(string $publicKey, string $privateKey, string $password, array $options)

Wrap a private key appropriately

from  OpenSSH
static 
setImplicitCurve(Base $curve)

Explicitly set the curve

from  Common
static Base|false
loadCurveByParam(array $params)

Returns an instance of \phpseclib3\Crypt\EC\BaseCurves\Base based on the curve parameters

from  Common
static object[]
extractPoint(string $str, Base $curve)

Extract points from a string

from  Common
static 
useSpecifiedCurve()

Use Specified Curve

from  Common
static 
useNamedCurve()

Use Named Curve

from  Common
static string
savePublicKey(Base $curve, array $publicKey, array $options = [])

Convert an EC public key to the appropriate format

static string
savePrivateKey(Integer $privateKey, Base $curve, array $publicKey, string $password = '', array $options = [])

Convert a private key to the appropriate format.

Details

static setComment(string $comment)

Sets the default comment

Parameters

string $comment

static array load(string $key, string $password = '')

Break a public or private key down into its constituent components

Parameters

string $key
string $password

Return Value

array

static setBinaryOutput(bool $enabled)

Toggle between binary and printable keys

Printable keys are what are generated by default. These are the ones that go in $HOME/.ssh/authorized_key.

Parameters

bool $enabled

static protected string wrapPrivateKey(string $publicKey, string $privateKey, string $password, array $options)

Wrap a private key appropriately

Parameters

string $publicKey
string $privateKey
string $password
array $options

Return Value

string

static setImplicitCurve(Base $curve)

Explicitly set the curve

If the key contains an implicit curve phpseclib needs the curve to be explicitly provided

Parameters

Base $curve

static protected Base|false loadCurveByParam(array $params)

Returns an instance of \phpseclib3\Crypt\EC\BaseCurves\Base based on the curve parameters

Parameters

array $params

Return Value

Base|false

static object[] extractPoint(string $str, Base $curve)

Extract points from a string

Supports both compressed and uncompressed points

Parameters

string $str
Base $curve

Return Value

object[]

static useSpecifiedCurve()

Use Specified Curve

A specified curve has all the coefficients, the base points, etc, explicitely included. A specified curve is a more verbose way of representing a curve

static useNamedCurve()

Use Named Curve

A named curve does not include any parameters. It is up to the EC parameters to know what the coefficients, the base points, etc, are from the name of the curve. A named curve is a more concise way of representing a curve

static string savePublicKey(Base $curve, array $publicKey, array $options = [])

Convert an EC public key to the appropriate format

Parameters

Base $curve
array $publicKey
array $options optional

Return Value

string

static string savePrivateKey(Integer $privateKey, Base $curve, array $publicKey, string $password = '', array $options = [])

Convert a private key to the appropriate format.

Parameters

Integer $privateKey
Base $curve
array $publicKey
string $password optional
array $options optional

Return Value

string