mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 16:27:40 +00:00
fix: credentials hash calculation in external kms
This commit is contained in:
@@ -88,9 +88,11 @@ export const registerExternalKmsEndpoints = <
|
|||||||
...rest
|
...rest
|
||||||
} = externalKms;
|
} = externalKms;
|
||||||
|
|
||||||
|
const credentialsToHash = JSON.stringify(configuration.credential);
|
||||||
|
|
||||||
const credentialsHash = crypto.nativeCrypto
|
const credentialsHash = crypto.nativeCrypto
|
||||||
.createHash("sha256")
|
.createHash("sha256")
|
||||||
.update(externalKmsData.encryptedProviderInputs)
|
.update(Buffer.from(credentialsToHash))
|
||||||
.digest("hex");
|
.digest("hex");
|
||||||
return { ...rest, externalKms: { ...externalKmsData, configuration, credentialsHash } };
|
return { ...rest, externalKms: { ...externalKmsData, configuration, credentialsHash } };
|
||||||
}
|
}
|
||||||
@@ -153,9 +155,12 @@ export const registerExternalKmsEndpoints = <
|
|||||||
external: { providerInput: externalKmsConfiguration, ...externalKmsData },
|
external: { providerInput: externalKmsConfiguration, ...externalKmsData },
|
||||||
...rest
|
...rest
|
||||||
} = externalKms;
|
} = externalKms;
|
||||||
|
|
||||||
|
const credentialsToHash = JSON.stringify(externalKmsConfiguration.credential);
|
||||||
|
|
||||||
const credentialsHash = crypto.nativeCrypto
|
const credentialsHash = crypto.nativeCrypto
|
||||||
.createHash("sha256")
|
.createHash("sha256")
|
||||||
.update(externalKmsData.encryptedProviderInputs)
|
.update(Buffer.from(credentialsToHash))
|
||||||
.digest("hex");
|
.digest("hex");
|
||||||
return { ...rest, externalKms: { ...externalKmsData, configuration: externalKmsConfiguration, credentialsHash } };
|
return { ...rest, externalKms: { ...externalKmsData, configuration: externalKmsConfiguration, credentialsHash } };
|
||||||
}
|
}
|
||||||
@@ -222,9 +227,12 @@ export const registerExternalKmsEndpoints = <
|
|||||||
external: { providerInput: externalKmsConfiguration, ...externalKmsData },
|
external: { providerInput: externalKmsConfiguration, ...externalKmsData },
|
||||||
...rest
|
...rest
|
||||||
} = externalKms;
|
} = externalKms;
|
||||||
|
|
||||||
|
const credentialsToHash = JSON.stringify(externalKmsConfiguration.credential);
|
||||||
|
|
||||||
const credentialsHash = crypto.nativeCrypto
|
const credentialsHash = crypto.nativeCrypto
|
||||||
.createHash("sha256")
|
.createHash("sha256")
|
||||||
.update(externalKmsData.encryptedProviderInputs)
|
.update(Buffer.from(credentialsToHash))
|
||||||
.digest("hex");
|
.digest("hex");
|
||||||
return { ...rest, externalKms: { ...externalKmsData, configuration: externalKmsConfiguration, credentialsHash } };
|
return { ...rest, externalKms: { ...externalKmsData, configuration: externalKmsConfiguration, credentialsHash } };
|
||||||
}
|
}
|
||||||
@@ -277,9 +285,12 @@ export const registerExternalKmsEndpoints = <
|
|||||||
external: { providerInput: configuration, ...externalKmsData },
|
external: { providerInput: configuration, ...externalKmsData },
|
||||||
...rest
|
...rest
|
||||||
} = externalKms;
|
} = externalKms;
|
||||||
|
|
||||||
|
const credentialsToHash = JSON.stringify(configuration.credential);
|
||||||
|
|
||||||
const credentialsHash = crypto.nativeCrypto
|
const credentialsHash = crypto.nativeCrypto
|
||||||
.createHash("sha256")
|
.createHash("sha256")
|
||||||
.update(externalKmsData.encryptedProviderInputs)
|
.update(Buffer.from(credentialsToHash))
|
||||||
.digest("hex");
|
.digest("hex");
|
||||||
|
|
||||||
return { ...rest, externalKms: { ...externalKmsData, configuration, credentialsHash } };
|
return { ...rest, externalKms: { ...externalKmsData, configuration, credentialsHash } };
|
||||||
|
|||||||
@@ -380,6 +380,7 @@ export const externalKmsServiceFactory = ({
|
|||||||
|
|
||||||
const findById = async ({ actor, actorId, actorOrgId, actorAuthMethod, id: kmsId }: TGetExternalKmsByIdDTO) => {
|
const findById = async ({ actor, actorId, actorOrgId, actorAuthMethod, id: kmsId }: TGetExternalKmsByIdDTO) => {
|
||||||
const kmsDoc = await kmsDAL.findById(kmsId);
|
const kmsDoc = await kmsDAL.findById(kmsId);
|
||||||
|
if (!kmsDoc) throw new NotFoundError({ message: `Could not find KMS with ID '${kmsId}'` });
|
||||||
const { permission } = await permissionService.getOrgPermission({
|
const { permission } = await permissionService.getOrgPermission({
|
||||||
scope: OrganizationActionScope.Any,
|
scope: OrganizationActionScope.Any,
|
||||||
actor,
|
actor,
|
||||||
|
|||||||
Reference in New Issue
Block a user