Skip to content

Commit 853e56b

Browse files
committed
fixed #204 - [EncryptionService] Add fallback for secret
1 parent bbc4238 commit 853e56b

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/Encryption/DefaultEncryptionService.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
use CustomerManagementFrameworkBundle\Traits\LoggerAware;
1919
use Defuse\Crypto\Crypto;
20+
use Defuse\Crypto\Encoding;
21+
use Defuse\Crypto\Exception\BadFormatException;
2022
use Defuse\Crypto\Key;
2123

2224
class DefaultEncryptionService implements EncryptionServiceInterface
@@ -51,7 +53,17 @@ public function getDefaultKey()
5153
throw new \RuntimeException('Need an encryption secret');
5254
}
5355

54-
$this->defaultKey = Key::loadFromAsciiSafeString($secret);
56+
try {
57+
$this->defaultKey = Key::loadFromAsciiSafeString($secret);
58+
} catch (BadFormatException $e) {
59+
60+
//fallback if secret is generated by Pimcore composer plugin and is actually a byte sequence
61+
$secret = Encoding::saveBytesToChecksummedAsciiSafeString(
62+
\Defuse\Crypto\Key::KEY_CURRENT_VERSION,
63+
base64_decode($secret)
64+
);
65+
$this->defaultKey = Key::loadFromAsciiSafeString($secret);
66+
}
5567
}
5668

5769
return $this->defaultKey;

0 commit comments

Comments
 (0)