Merge pull request #8666 from nextcloud/strict_idproof
Make \OC\Security\IdentityProof strict
This commit is contained in:
commit
d0de8e4905
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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!');
|
||||
|
|
|
@ -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'])
|
||||
|
|
Loading…
Reference in New Issue