Add get_remote_key method
This commit is contained in:
parent
dc8e1e0f3e
commit
afafdf1543
1 changed files with 19 additions and 1 deletions
|
@ -187,7 +187,7 @@ class Signature {
|
|||
}
|
||||
}
|
||||
|
||||
$public_key = \Activitypub\get_remote_metadata_by_actor( strtok( strip_fragment_from_url( $signature_block['keyId'] ), '?' ) ); // phpcs:ignore
|
||||
$public_key = self::get_remote_key( $signature_block['keyId'] );
|
||||
if ( \is_wp_error( $public_key ) ) {
|
||||
return $public_key;
|
||||
} else {
|
||||
|
@ -200,6 +200,24 @@ class Signature {
|
|||
return $verified;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get public key from key_id
|
||||
*
|
||||
* @param string $key_id
|
||||
* @return string $publicKeyPem
|
||||
* @author Django Doucet <django.doucet@webdevstudios.com>
|
||||
*/
|
||||
public static function get_remote_key( $key_id ) { // phpcs:ignore
|
||||
$actor = \Activitypub\get_remote_metadata_by_actor( strtok( strip_fragment_from_url( $key_id ), '?' ) ); // phpcs:ignore
|
||||
if ( \is_wp_error( $actor ) ) {
|
||||
return $actor;
|
||||
}
|
||||
if ( isset( $actor['publicKey']['publicKeyPem'] ) ) {
|
||||
return \rtrim( $actor['publicKey']['publicKeyPem'] ); // phpcs:ignore
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the signature algorithm from the signature header
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue