1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
Класс Signer
Граф наследования:Signer:
Bitrix24Signer

Открытые члены

 __construct (SigningAlgorithm $algorithm=null)
 setKey ($value)
 getSeparator ()
 setSeparator ($value)
 getSignature ($value, $salt=null)
 sign ($value, $salt=null)
 unsign ($signedValue, $salt=null)
 validate ($value, $signature, $salt=null)
 pack (array $values)
 unpack ($value, $limit=2)

Защищенные члены

 verifySignature ($value, $sig, $salt=null)
 getKey ($salt=null)
 getDefaultKey ()
 encodeSignature ($value)
 decodeSignature ($value)

Защищенные данные

 $algorithm = null
 $separator = '.'
 $key = null

Подробное описание

См. определение в файле signer.php строка 13

Конструктор(ы)

◆ __construct()

__construct ( SigningAlgorithm $algorithm = null)

Creates new Signer object. If you want to use your own signing algorithm - you can do this.

Аргументы
SigningAlgorithm | null$algorithmCustom signing algorithm.

См. определение в файле signer.php строка 26

Методы

◆ decodeSignature()

decodeSignature ( $value)
protected

Returns decoded signature.

Аргументы
string$valueEncoded signature.
Возвращает
string Signature in binary representation
Исключения
BadSignatureException

Переопределяется в Bitrix24Signer.

См. определение в файле signer.php строка 348

◆ encodeSignature()

encodeSignature ( $value)
protected

Returns encoded signature.

Аргументы
string$valueSignature in binary representation.
Возвращает
string Encoded signature

Переопределяется в Bitrix24Signer.

См. определение в файле signer.php строка 336

◆ getDefaultKey()

getDefaultKey ( )
protected

Returns default (system) key for signing or generate if it does not exist.

Возвращает
string

См. определение в файле signer.php строка 247

◆ getKey()

getKey ( $salt = null)
protected

Returns salted key for signing. If key was set by setKey - use it Otherwise - used default (if default key does not exist - automatically generate it)

Аргументы
string | null$saltSalt, if needed.
Возвращает
string
Исключения
BadSignatureException

См. определение в файле signer.php строка 223

◆ getSeparator()

getSeparator ( )

Returns separator, used for packing/unpacking.

Возвращает
string

См. определение в файле signer.php строка 61

◆ getSignature()

getSignature ( $value,
$salt = null )

Returns message signature.

Аргументы
string$valueMessage.
string | null$saltSalt.
Возвращает
string
Исключения
ArgumentTypeException

См. определение в файле signer.php строка 92

◆ pack()

pack ( array $values)

Packs array values to single string: pack(['test', 'all', 'values']) -> 'test.all.values'

Аргументы
array$valuesValues for packing.
Возвращает
string

См. определение в файле signer.php строка 276

◆ setKey()

setKey ( $value)

Sets key for signing.

Аргументы
string$valueKey.
Возвращает
$this
Исключения
ArgumentTypeException

См. определение в файле signer.php строка 45

◆ setSeparator()

setSeparator ( $value)

Sets separator, used for packing/unpacking.

Аргументы
string$valueSeparator.
Возвращает
$this
Исключения
ArgumentTypeException

См. определение в файле signer.php строка 73

◆ sign()

sign ( $value,
$salt = null )

Signs message, returns string in format "{message}{separator}{signature}".

Simple example: // If salt needed $foo = (new Signer)->sign('test', 'my_salt');

// Otherwise $bar = (new Signer)->sign('test');

Аргументы
string$valueMessage for signing.
string | null$saltSalt, if needed.
Возвращает
string
Исключения
ArgumentTypeException

Переопределяется в Bitrix24Signer.

См. определение в файле signer.php строка 122

◆ unpack()

unpack ( $value,
$limit = 2 )

Unpacks values from string (something like rsplit). Simple example for separator ".": // Unpack all values: unpack('test.all.values', 0) -> ['test', 'all', 'values']

// Unpack 2 values (by default). First element containing the rest of string. unpack('test.all.values') -> ['test.all', 'values']

// Exception if separator is missing unpack('test.all values', 3) -> throws BadSignatureException

Аргументы
string$valueString for unpacking.
int$limitIf $limit === 0 - unpack all values, default - 2.
Возвращает
array
Исключения
BadSignatureException

См. определение в файле signer.php строка 300

◆ unsign()

unsign ( $signedValue,
$salt = null )

Checks message signature and return original message.

Simple example: $signer = new Signer;

// Sign message $signedValue = $signer->sign('test');

// Get original message with checking echo $signer->unsign($signedValue); // Output: 'test'

// Try to unsigning not signed value echo $signer->unsign('test'); //throw BadSignatureException with message 'Separator not found in value'

// Or with invalid sign echo $signer->unsign('test.invalid_sign');

// Or invalid salt //throw BadSignatureException with message 'Signature does not match' echo $signer->unsign($signedValue, 'invalid_salt');

Аргументы
string$signedValueSigned value, must be in format "{message}{separator}{signature}".
string | null$saltSalt, if used while signing.
Возвращает
string
Исключения
BadSignatureException
ArgumentTypeException

Переопределяется в Bitrix24Signer.

См. определение в файле signer.php строка 166

◆ validate()

validate ( $value,
$signature,
$salt = null )

Simply validation of message signature.

Аргументы
string$valueMessage.
string$signatureSignature.
string | null$saltSalt, if used while signing.
Возвращает
bool True if OK, otherwise - false.

См. определение в файле signer.php строка 190

◆ verifySignature()

verifySignature ( $value,
$sig,
$salt = null )
protected

Verifies message signature provided by hashing algorithm.

Аргументы
string$valueMessage.
string$sigSignature.
string | null$saltSalt, if used while signing.
Возвращает
bool

См. определение в файле signer.php строка 207

Поля

◆ $algorithm

$algorithm = null
protected

См. определение в файле signer.php строка 16

◆ $key

$key = null
protected

См. определение в файле signer.php строка 19

◆ $separator

$separator = '.'
protected

См. определение в файле signer.php строка 17


Объявления и описания членов класса находятся в файле:
  • C:/bitrix/modules/main/lib/security/sign/signer.php