Signature Algorithms

This framework comes with several signature algorithms. These algorithms are in the following namespace: Jose\Component\Signature\Algorithm.

AlgorithmDescription

HS256

HS384

HS512

HMAC with SHA-2 Functions

ES256

ES384

ES512

Elliptic Curve Digital Signature Algorithm (ECDSA)

RS256

RS384

RS512

RSASSA-PKCS1 v1_5

PS256

PS384

PS512

RSASSA-PSS

EdDSA (only with the Ed25519 curve)

Edwards-curve Digital Signature Algorithm (EdDSA)

none

Experimental Algorithms

The following signature algorithms are experimental and must not be used in production unless you know what you are doing. They are proposed for testing purpose only.

They are provided throught the package web-token/jwt-experimental.

AlgorithmDescription

RS1

RSASSA-PKCS1 v1_5 with SHA-1 hashing function

HS1

HMAC with SHA-1 hashing function

ES256K

Elliptic curve secp256k1 support

How To Use

These algorithms have to be used with the Algorithm Manager. They do not need any arguments.

Example:

<?php

use Jose\Component\Core\AlgorithmManager;
use Jose\Component\Signature\Algorithm\PS256;
use Jose\Component\Signature\Algorithm\ES512;
use Jose\Component\Signature\Algorithm\None;

$algorithm_manager = new AlgorithmManager([
    new PS256(),
    new ES512(),
    new None(),
]);

Last updated