Azure DevOps扩展中的节点密码警告 - 发布任务

问题描述 投票:3回答:1

我正在开发一个开发Azure DevOps版本任务扩展的项目。最近,当发布任务运行时,我在日志中多次打印此警告消息 - “警告:使用Cipheriv作为aes-256-ctr的计数器模式”。

我没有早点得到它。当我开始收到此错误的时候,我只更改了一些console.log(..),甚至没有任何可能触发此错误的代码。 (可能是一些npm依赖更新!)

任何想法,我为什么会收到此错误,以及如何解决它!如果没有,如何禁用它?

附: - 我知道这个问题已被提出,可能被归类为重复。但我在Azure DevOps发布任务的上下文中询问,其他是独立的node.js项目。而且,这些修复对我不起作用。

node.js azure-devops azure-pipelines azure-pipelines-release-pipeline azure-pipelines-build-task
1个回答
4
投票

这与Azure-Pipelines-Task-Lib和Azure-Pipelines-agent以及您的控件之外有关。应该在这些项目或其依赖项中修复该问题。

由于这些都附带代理安装程序和任务本身,因此不在您的控制之下。

这可能是由代理在节点6上的依赖性引起的。正在进行的工作是在代理上支持节点10 LTS(节点10现在在代理安装程序中并排发布)。

Azure-Pipelines-Agent calls the wrong method here

    let encryptKey = crypto.randomBytes(256);
    let cipher = crypto.createCipher("aes-256-ctr", encryptKey);
    let encryptedContent = cipher.update(secret, "utf8", "hex");
    encryptedContent += cipher.final("hex");

据我所知,它应该在节点8或更高版本上运行时调用crypto.createCipheriv()而不是crypto.createCipher()Azure-Pipelines-Task-Lib seems to rely on the same piece of code

looks like 2.8.0 of the Azure-Pipelines-Task-Lib fixes this。它现在在npm,所以升级使这些警告消失。

© www.soinside.com 2019 - 2024. All rights reserved.