nodejs / node

Node.js JavaScript runtime ✨🐢🚀✨
https://nodejs.org
Other
106.84k stars 29.16k forks source link

A digitally signed PowerShell script does not work with non LTS Node.js version with "AllSigned" PowerShell policy #55097

Open amit-turnkey opened 5 days ago

amit-turnkey commented 5 days ago

Version

Non LTS version of Node.js( e.g. 22.6 )

Platform

Windows 10 64 bit and Windows server 2022 standard edition 64 bit

Subsystem

No response

What steps will reproduce the bug?

We have a PowerShell script that is digitally signed using our organization's code signing certificate. This script is responsible for launching a local Node.js service. When the PowerShell execution policy is set to "AllSigned," the script works as expected with the Long Term Support (LTS) version of Node.js. However, the script fails to run with other versions of Node.js under the "AllSigned" policy. If the PowerShell execution policy is changed from "AllSigned" to another policy, the script successfully runs with these other Node.js versions.

How often does it reproduce? Is there a required condition?

It always failed to run with another version of node.js except LTS.

What is the expected behavior? Why is that the expected behavior?

Expected Behavior: Node.js service must be up. The signed PowerShell script should launch Node.js service with any version of Node.js when the execution policy is set to "AllSigned."

Actual Behavior: The Node.js service only runs successfully with the LTS version of Node.js when the execution policy is "AllSigned." For other versions, it fails unless the policy is changed.

What do you see instead?

Actual Behavior: The Node.js service only runs successfully with the LTS version of Node.js when the execution policy is "AllSigned." For other versions, it fails unless the policy is changed.

Additional information

Environment:

PowerShell Execution Policy: AllSigned Node.js Versions: LTS and other versions Digital Signature: Organization-based code signing certificate

RedYetiDev commented 5 days ago

Duplicate of #54607

amit-turnkey commented 4 days ago

Would you please reopen this ticket. As original Ticket #54607 (https://github.com/nodejs/node/issues/54607) has been closed. This is important as previous ticket was created by user and he is not associated with this issue. I request you to reopen this ticket and we can discuss further.

RedYetiDev commented 4 days ago

When the PowerShell execution policy is set to "AllSigned," the script works as expected with the Long Term Support (LTS) version of Node.js. However, the script fails to run with other versions of Node.js

Can you provide more information about this statement?

Something like a table would be nice:

| Version  | `AllSigned` | W/O `AllSigned` |
|----------|-------------|-----------------|
| v22.9.0  | ✅ OR ❎      | ✅ OR ❎          |
| v20.17.0 | ✅ OR ❎      | ✅ OR ❎          |
| v18.20.4 | ✅ OR ❎      | ✅ OR ❎          |
amit-turnkey commented 2 days ago

Hi,

Please find below required information: image

Thanks & Regards Amit From: Aviv Keller @.> Sent: 25 September 2024 23:07 To: nodejs/node @.> Cc: Amit Rohatgi @.>; Author @.> Subject: Re: [nodejs/node] A digitally signed PowerShell script does not work with non LTS Node.js version with "AllSigned" PowerShell policy (Issue #55097)

When the PowerShell execution policy is set to "AllSigned," the script works as expected with the Long Term Support (LTS) version of Node.js. However, the script fails to run with other versions of Node.js

Can you provide more information about this statement?

Something like a table would be nice Version AllSigned W/O AllSigned v22.9.0 ✅ OR ❎ ✅ OR ❎ v20.17.0 ✅ OR ❎ ✅ OR ❎ v18.20.4 ✅ OR ❎ ✅ OR ❎

— Reply to this email directly, view it on GitHubhttps://github.com/nodejs/node/issues/55097#issuecomment-2374744708, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BLQO6RJU33PDXDSOSBTU7DTZYLYB5AVCNFSM6AAAAABOYC7VPWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZUG42DINZQHA. You are receiving this because you authored the thread.Message ID: @.**@.>>