PHP Class Airship\Cabin\Bridge\Blueprint\ChannelUpdates

Manage key updates from a particular channel
Inheritance: extends BlueprintGear
Show file Open project: paragonie/airship Class Usage Examples

Public Methods

Method 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.

Protected Methods

Method 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 method

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

getChannelURLs() protected method

Get all URLs
protected getChannelURLs ( boolean $doNotShuffle = false ) : array
$doNotShuffle boolean
return array

getChannelUpdates() protected method

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

getKeyUpdates() protected method

Get key updates from the channel
protected getKeyUpdates ( MerkleTree $tree ) : array
$tree MerkleTree
return array

getMerkleTree() protected method

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

getUpdatedMerkleTree() protected method

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

insertKey() protected method

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

notifyPeersOfNewUpdate() protected method

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

parseChannelUpdateResponse() protected method

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

revokeKey() protected method

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

storeUpdate() protected method

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

updatePackageQueue() protected method

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

verifyMasterSignature() protected method

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
return boolean

verifyUpdate() public method

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
return array