PHP Class Airship\Cabin\Bridge\Blueprint\ChannelUpdates

Manage key updates from a particular channel
Inheritance: extends BlueprintGear
Afficher le fichier Open project: paragonie/airship Class Usage Examples

Méthodes publiques

Méthode Description
__construct ( Database $db, string $channel = '' ) ChannelUpdates constructor.
verifyUpdate ( SignatureSecretKey $sk, string $challenge ) : array Return an encoded message containing the updates, and an encoded Ed25519 signature of the message.

Méthodes protégées

Méthode Description
getChannelURLs ( boolean $doNotShuffle = false ) : array Get all URLs
getChannelUpdates ( string $root ) : array Send the HTTP request, return the
getKeyUpdates ( MerkleTree $tree ) : array Get key updates from the channel
getMerkleTree ( ) : MerkleTree Get the current Merkle tree for our active channel.
getUpdatedMerkleTree ( ) : MerkleTree Get the Merkle tree with key updates factored in.
insertKey ( array $keyData, array $nodeData ) : boolean We are creating a new key
notifyPeersOfNewUpdate ( ) This propagates the new update through the network.
parseChannelUpdateResponse ( array $data, DateTime $originated ) : array Parse the HTTP response and get the useful information out of it.
revokeKey ( array $keyData, array $nodeData ) : boolean We are removing a key from our trust store.
storeUpdate ( array $nodeData ) : boolean Store the new update in the database.
updatePackageQueue ( array $pkgData, integer $treeUpdateID ) : boolean We're storing metadata about a package in the database.
verifyMasterSignature ( array $supplierData, array $keyData, array $nodeData ) : boolean Verify that this key update was signed by the master key for this supplier.

Method Details

__construct() public méthode

ChannelUpdates constructor.
public __construct ( Database $db, string $channel = '' )
$db Database
$channel string

getChannelURLs() protected méthode

Get all URLs
protected getChannelURLs ( boolean $doNotShuffle = false ) : array
$doNotShuffle boolean
Résultat array

getChannelUpdates() protected méthode

Send the HTTP request, return the
protected getChannelUpdates ( string $root ) : array
$root string
Résultat array

getKeyUpdates() protected méthode

Get key updates from the channel
protected getKeyUpdates ( MerkleTree $tree ) : array
$tree MerkleTree
Résultat array

getMerkleTree() protected méthode

Get the current Merkle tree for our active channel.
protected getMerkleTree ( ) : MerkleTree
Résultat MerkleTree

getUpdatedMerkleTree() protected méthode

Get the Merkle tree with key updates factored in.
protected getUpdatedMerkleTree ( ) : MerkleTree
Résultat MerkleTree

insertKey() protected méthode

We are creating a new key
protected insertKey ( array $keyData, array $nodeData ) : boolean
$keyData array
$nodeData array
Résultat boolean

notifyPeersOfNewUpdate() protected méthode

This propagates the new update through the network.
protected notifyPeersOfNewUpdate ( )

parseChannelUpdateResponse() protected méthode

Parse the HTTP response and get the useful information out of it.
protected parseChannelUpdateResponse ( array $data, DateTime $originated ) : array
$data array
$originated DateTime
Résultat array

revokeKey() protected méthode

We are removing a key from our trust store.
protected revokeKey ( array $keyData, array $nodeData ) : boolean
$keyData array
$nodeData array
Résultat boolean

storeUpdate() protected méthode

Store the new update in the database.
protected storeUpdate ( array $nodeData ) : boolean
$nodeData array
Résultat boolean

updatePackageQueue() protected méthode

We're storing metadata about a package in the database.
protected updatePackageQueue ( array $pkgData, integer $treeUpdateID ) : boolean
$pkgData array
$treeUpdateID integer
Résultat boolean

verifyMasterSignature() protected méthode

Verify that this key update was signed by the master key for this supplier.
protected verifyMasterSignature ( array $supplierData, array $keyData, array $nodeData ) : boolean
$supplierData array
$keyData array
$nodeData array
Résultat boolean

verifyUpdate() public méthode

Return an encoded message containing the updates, and an encoded Ed25519 signature of the message.
public verifyUpdate ( SignatureSecretKey $sk, string $challenge ) : array
$sk SignatureSecretKey
$challenge string
Résultat array