abstract class XML (View source)

XML Formatted EC Key Handler

Traits

Generic EC Key Parsing Helper functions

Properties

static protected bool $childOIDsLoaded Child OIDs loaded from  Common

Methods

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 array
load(string $key, string $password = '')

Break a public or private key down into its constituent components

static 
setNamespace(string $namespace)

Sets the namespace. dsig11 is the most common one.

static 
enableRFC4050Syntax()

Uses the XML syntax specified in https://tools.ietf.org/html/rfc4050

static 
disableRFC4050Syntax()

Uses the XML syntax specified in https://www.w3.org/TR/xmldsig-core/#sec-ECParameters

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

Convert a public key to the appropriate format

Details

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 array load(string $key, string $password = '')

Break a public or private key down into its constituent components

Parameters

string $key
string $password optional

Return Value

array

static setNamespace(string $namespace)

Sets the namespace. dsig11 is the most common one.

Set to null to unset. Used only for creating public keys.

Parameters

string $namespace

static enableRFC4050Syntax()

Uses the XML syntax specified in https://tools.ietf.org/html/rfc4050

static disableRFC4050Syntax()

Uses the XML syntax specified in https://www.w3.org/TR/xmldsig-core/#sec-ECParameters

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

Convert a public key to the appropriate format

Parameters

Base $curve
array $publicKey
array $options optional

Return Value

string