Zafer Balkan created MWRAPPER-153:
-------------------------------------

             Summary: only-mvnw.cmd fails when FIPS mode is enabled
                 Key: MWRAPPER-153
                 URL: https://issues.apache.org/jira/browse/MWRAPPER-153
             Project: Maven Wrapper
          Issue Type: Bug
          Components: Maven Wrapper Scripts
         Environment: Tested on Windows 10 and 11
            Reporter: Zafer Balkan


h2. Problem

When `only-mvnw.cmd` is used to initiate the wrapper, the script fails due to 
MD5. 

 
{code:java}
Exception calling "Create" with "0" argument(s): "This implementation is not 
part of the Windows Platform FIPS
validated cryptographic algorithms."
At line:1 char:1
+ $MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().Comp ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : InvalidOperationException {code}
Since the hashes are used within the script, it is easier to replace the line 
below

 
{code:java}
 $MAVEN_HOME_NAME = 
([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl)
 | ForEach-Object {$_.ToString("x2")}) -join '' {code}
with 

 
{code:java}
$MAVEN_HOME_NAME = 
([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl)
 | ForEach-Object {$_.ToString("x2")}) -join '' {code}
h2. Steps to reproduce
 * Under 
{{{}Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy{}}},
 set {{Enabled}} to {{{}1{}}}.
 * {{Run only-mvnw.cmd}}

h2. Caveat

The FIPS check works with Powershell 5, not Powershell 7. It looks like the new 
PowerShell does not respect the OS configuration as well. So if the script is 
run within the new PowerShell, it would succeed due to –or thanks to– this 
problem.  

I created an issue on their repository for this problem: 
https://github.com/PowerShell/PowerShell/issues/24502



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to