Extract getAcmeChallengeRecord

This commit is contained in:
Fang-Pen Lin
2025-11-25 08:54:37 -08:00
parent 4776de1ba7
commit 9266dd1060
@@ -122,6 +122,22 @@ export const castDbEntryToAcmeCertificateAuthority = (
}; };
}; };
const getAcmeChallengeRecord = (
provider: AcmeDnsProvider,
identifierValue: string,
keyAuthorization: string
): { recordName: string; recordValue: string } => {
let recordName: string;
if (provider === AcmeDnsProvider.DNSMadeEasy) {
// For DNS Made Easy, we don't need to provide the domain name in the record name.
recordName = "_acme-challenge";
} else {
recordName = `_acme-challenge.${identifierValue}`; // e.g., "_acme-challenge.example.com"
}
const recordValue = `"${keyAuthorization}"`; // must be double quoted
return { recordName, recordValue };
};
export const orderCertificate = async ( export const orderCertificate = async (
{ {
caId, caId,
@@ -243,12 +259,11 @@ export const orderCertificate = async (
throw new Error("Unsupported challenge type"); throw new Error("Unsupported challenge type");
} }
let recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" const { recordName, recordValue } = getAcmeChallengeRecord(
if (acmeCa.configuration.dnsProviderConfig.provider === AcmeDnsProvider.DNSMadeEasy) { acmeCa.configuration.dnsProviderConfig.provider,
// For DNS Made Easy, we don't need to provide the domain name in the record name. authz.identifier.value,
recordName = "_acme-challenge"; keyAuthorization
} );
const recordValue = `"${keyAuthorization}"`; // must be double quoted
switch (acmeCa.configuration.dnsProviderConfig.provider) { switch (acmeCa.configuration.dnsProviderConfig.provider) {
case AcmeDnsProvider.Route53: { case AcmeDnsProvider.Route53: {
@@ -284,8 +299,11 @@ export const orderCertificate = async (
} }
}, },
challengeRemoveFn: async (authz, challenge, keyAuthorization) => { challengeRemoveFn: async (authz, challenge, keyAuthorization) => {
const recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" const { recordName, recordValue } = getAcmeChallengeRecord(
const recordValue = `"${keyAuthorization}"`; // must be double quoted acmeCa.configuration.dnsProviderConfig.provider,
authz.identifier.value,
keyAuthorization
);
switch (acmeCa.configuration.dnsProviderConfig.provider) { switch (acmeCa.configuration.dnsProviderConfig.provider) {
case AcmeDnsProvider.Route53: { case AcmeDnsProvider.Route53: {