由于错误,无法使用 .pfx 证书签署 pdf 文件。错误:PKCS#12 正在使用不受支持的 MAC 算法:1.2.804.2.1.1.1.1.2.1,此证书来自 Diia 服务,他们还为我提供了 .dat 文件,但我不知道如何处理它。 我正在使用 Node.js:
const assetAccessCode = await this.configFacade.get(SIGN_CERTIFICATE_ASSET_ACCESS_CODE);
const assetId = await this.configFacade.get(SIGN_CERTIFICATE_ASSET_ID);
let signer = await send(this.secureStorage, 'assetGet', { assetAccessCode, assetId, clientId }).catch((error) => {
this.logger.error(`Secure Storage request:${JSON.stringify({ assetAccessCode, assetId, clientId })}`);
this.logger.error(`Secure Storage unavailable:${JSON.stringify(error)}`);
throw Error(error);
});
const pdfToSign = plainAddPlaceholder({
pdfBuffer,
reason: ' ',
contactInfo: ' ',
name: ' ',
location: 'UK',
});
signer = new P12Signer(Buffer.from(signer.asset.certFile), {
passphrase: signer.asset.password,
asn1StrictParsing: true,
});
const signed = await signpdf.sign(pdfToSign, signer);
return signed;
我该如何解决这个问题
协议是乌克兰拥有自己的数字签名加密算法,但任何外国图书馆都不支持该算法。解决方案是使用 UAPKI
构建一个插件