From d8332d43f8751bea380da1900ddb47e49754fdbc Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Mon, 5 Mar 2018 19:33:16 +0100
Subject: [PATCH] Make \OC\Security\IdentityProof strict

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 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 b01a5c66bb8..4f79dee15db 100644
--- a/lib/private/Security/IdentityProof/Key.php
+++ b/lib/private/Security/IdentityProof/Key.php
@@ -1,4 +1,5 @@
 <?php
+declare(strict_types=1);
 /**
  * @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
  *
@@ -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 7bfc139b94c..fb27f04d873 100644
--- a/lib/private/Security/IdentityProof/Manager.php
+++ b/lib/private/Security/IdentityProof/Manager.php
@@ -1,4 +1,5 @@
 <?php
+declare(strict_types=1);
 /**
  * @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
  *
@@ -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 ed2a38f99b8..95546876bdc 100644
--- a/lib/private/Security/IdentityProof/Signer.php
+++ b/lib/private/Security/IdentityProof/Signer.php
@@ -1,4 +1,5 @@
 <?php
+declare(strict_types=1);
 /**
  * @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
  *
@@ -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'])
-- 
GitLab