【问题标题】:Node Cipheriv Warning in Azure DevOps Extension - Release TaskAzure DevOps 扩展中的节点密码警告 - 发布任务
【发布时间】:2019-03-10 19:10:52
【问题描述】:

我正在开发一个开发 Azure DevOps 发布任务扩展的项目。最近,当发布任务运行时,我在日志中多次打印此警告消息-“警告:使用密码用于 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】:

    这与 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");
    

    据我所知,在 Node 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 上,所以升级以使这些警告消失。

    【讨论】:

    • 2.8.0 刚刚发布。
    • 将 npm 包 'azure-pipelines-task-lib' 升级到 2.8.0 解决了这个问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 2020-08-16
    • 2020-11-25
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    相关资源
    最近更新 更多