From d8332d43f8751bea380da1900ddb47e49754fdbc Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Mon, 5 Mar 2018 19:33:16 +0100 Subject: [PATCH] Make \OC\Security\IdentityProof strict Signed-off-by: Roeland Jago Douma --- lib/private/Security/IdentityProof/Key.php | 7 ++++--- lib/private/Security/IdentityProof/Manager.php | 11 ++++++----- lib/private/Security/IdentityProof/Signer.php | 5 +++-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/private/Security/IdentityProof/Key.php b/lib/private/Security/IdentityProof/Key.php index b01a5c66bb..4f79dee15d 100644 --- a/lib/private/Security/IdentityProof/Key.php +++ b/lib/private/Security/IdentityProof/Key.php @@ -1,4 +1,5 @@ * @@ -33,16 +34,16 @@ class Key { * @param string $publicKey * @param string $privateKey */ - public function __construct($publicKey, $privateKey) { + public function __construct(string $publicKey, string $privateKey) { $this->publicKey = $publicKey; $this->privateKey = $privateKey; } - public function getPrivate() { + public function getPrivate(): string { return $this->privateKey; } - public function getPublic() { + public function getPublic(): string { return $this->publicKey; } } diff --git a/lib/private/Security/IdentityProof/Manager.php b/lib/private/Security/IdentityProof/Manager.php index 7bfc139b94..fb27f04d87 100644 --- a/lib/private/Security/IdentityProof/Manager.php +++ b/lib/private/Security/IdentityProof/Manager.php @@ -1,4 +1,5 @@ * @@ -59,7 +60,7 @@ class Manager { * * @return array [$publicKey, $privateKey] */ - protected function generateKeyPair() { + protected function generateKeyPair(): array { $config = [ 'digest_alg' => 'sha512', 'private_key_bits' => 2048, @@ -83,7 +84,7 @@ class Manager { * @param string $id key id * @return Key */ - protected function generateKey($id) { + protected function generateKey(string $id): Key { list($publicKey, $privateKey) = $this->generateKeyPair(); // Write the private and public key to the disk @@ -105,7 +106,7 @@ class Manager { * @param string $id * @return Key */ - protected function retrieveKey($id) { + protected function retrieveKey(string $id): Key { try { $folder = $this->appData->getFolder($id); $privateKey = $this->crypto->decrypt( @@ -124,7 +125,7 @@ class Manager { * @param IUser $user * @return Key */ - public function getKey(IUser $user) { + public function getKey(IUser $user): Key { $uid = $user->getUID(); return $this->retrieveKey('user-' . $uid); } @@ -135,7 +136,7 @@ class Manager { * @return Key * @throws \RuntimeException */ - public function getSystemKey() { + public function getSystemKey(): Key { $instanceId = $this->config->getSystemValue('instanceid', null); if ($instanceId === null) { throw new \RuntimeException('no instance id!'); diff --git a/lib/private/Security/IdentityProof/Signer.php b/lib/private/Security/IdentityProof/Signer.php index ed2a38f99b..95546876bd 100644 --- a/lib/private/Security/IdentityProof/Signer.php +++ b/lib/private/Security/IdentityProof/Signer.php @@ -1,4 +1,5 @@ * @@ -57,7 +58,7 @@ class Signer { * @param IUser $user * @return array ['message', 'signature'] */ - public function sign($type, array $data, IUser $user) { + public function sign(string $type, array $data, IUser $user): array { $privateKey = $this->keyManager->getKey($user)->getPrivate(); $data = [ 'data' => $data, @@ -79,7 +80,7 @@ class Signer { * @param array $data * @return bool */ - public function verify(array $data) { + public function verify(array $data): bool { if(isset($data['message']) && isset($data['signature']) && isset($data['message']['signer'])