\mkdir(ROOT . '/config/keyring/', 0750);
}
$keyRing = \Airship\loadJSON(ROOT . '/config/keyring.json');
if (empty($keyRing)) {
// This is critical to Airship's functioning.
throw new \Error(\trk('errors.crypto.keyring_missing'));
}
$state = \Airship\Engine\State::instance();
$keys = [];
foreach ($keyRing as $index => $keyConfig) {
$path = ROOT . '/config/keyring/' . $keyConfig['file'];
if (\file_exists($path)) {
// Load it from disk
switch ($keyConfig['type']) {
case 'AuthenticationKey':
$keys[$index] = KeyFactory::loadAuthenticationKey($path);
break;
case 'EncryptionKey':
$keys[$index] = KeyFactory::loadEncryptionKey($path);
break;
case 'EncryptionPublicKey':
$keys[$index] = KeyFactory::loadEncryptionPublicKey($path);
break;
case 'EncryptionSecretKey':
$keys[$index] = KeyFactory::loadEncryptionSecretKey($path);
break;
case 'SignaturePublicKey':
$keys[$index] = KeyFactory::loadSignaturePublicKey($path);
break;
case 'SignatureSecretKey':
$keys[$index] = KeyFactory::loadSignatureSecretKey($path);