Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: fix custom certification tests on Windows #6450

Merged
merged 1 commit into from
Aug 10, 2024

Conversation

Gudahtt
Copy link
Member

@Gudahtt Gudahtt commented Aug 10, 2024

What's the problem this PR addresses?

The integration tests using custom certificates have been failing for quite a while on Windows with the error RequestError: unsuitable certificate purpose.

How did you fix it?

This error was caused by the test CA certificate used; it was not configured to be used as a CA when it was generated.

The test script that generates the CA certificate has been updated to generate it correctly. I used the same configuration options used by the test suite of the pem library that we are using for certificate generation: https://github.com/Dexus/pem/blob/3d71b87cec08a565ce5e73e26dd18f53b9e1fdea/test/pem.spec.js#L856

The problem does not seem to be specific to Windows; I was able to reproduce it locally on macOS as well. I don't yet know why it's passing on CI for Ubuntu and macOS, but not for Windows. Perhaps some difference in the images, like the OpenSSL version (they should all be using OpenSSL v1.1.1, but I've seen reports of Windows having v3 installed as well).

Checklist

  • I have set the packages that need to be released for my changes to be effective.
  • I will check that all automated PR checks pass before the PR gets reviewed.

The integration tests using custom certificates have been failing for
quite a while on Windows with the error `RequestError: unsuitable certificate purpose`.
This error was caused by the test CA certificate used; it was not
configured to be used as a CA when it was generated. The test script
that generates the CA certificate has been updated to generate it
correctly.

The problem does not seem to be specific to Windows; I was able to
reproduce it locally on macOS as well. I don't yet know why it's
passing on CI for Ubuntu and macOS, but not for Windows. Perhaps some
difference in the images, like the OpenSSL version (they should all be
using OpenSSL v1.1.1, but I've seen reports of Windows having v3
installed as well).
@Gudahtt Gudahtt force-pushed the fix-windows-integration-tests branch from cc2a01b to db09c24 Compare August 10, 2024 19:59
@Gudahtt Gudahtt marked this pull request as ready for review August 10, 2024 20:13
@arcanis arcanis merged commit 7495114 into yarnpkg:master Aug 10, 2024
26 checks passed
@arcanis
Copy link
Member

arcanis commented Aug 10, 2024

Amazing, great find!

merceyz pushed a commit that referenced this pull request Aug 24, 2024
## What's the problem this PR addresses?

The integration tests using custom certificates have been failing for
quite a while on Windows with the error `RequestError: unsuitable
certificate purpose`.

## How did you fix it?

This error was caused by the test CA certificate used; it was not
configured to be used as a CA when it was generated.

The test script that generates the CA certificate has been updated to
generate it correctly. I used the same configuration options used by the
test suite of the `pem` library that we are using for certificate
generation:
https://github.com/Dexus/pem/blob/3d71b87cec08a565ce5e73e26dd18f53b9e1fdea/test/pem.spec.js#L856

The problem does not seem to be specific to Windows; I was able to
reproduce it locally on macOS as well. I don't yet know why it's passing
on CI for Ubuntu and macOS, but not for Windows. Perhaps some difference
in the images, like the OpenSSL version (they should all be using
OpenSSL v1.1.1, but I've seen reports of Windows having v3 installed as
well).

## Checklist

<!--- Don't worry if you miss something, chores are automatically
tested. -->
<!--- This checklist exists to help you remember doing the chores when
you submit a PR. -->
<!--- Put an `x` in all the boxes that apply. -->
- [x] I have read the [Contributing
Guide](https://yarnpkg.com/advanced/contributing).

<!-- See
https://yarnpkg.com/advanced/contributing#preparing-your-pr-to-be-released
for more details. -->
<!-- Check with `yarn version check` and fix with `yarn version check
-i` -->
- [x] I have set the packages that need to be released for my changes to
be effective.

<!-- The "Testing chores" workflow validates that your PR follows our
guidelines. -->
<!-- If it doesn't pass, click on it to see details as to what your PR
might be missing. -->
- [x] I will check that all automated PR checks pass before the PR gets
reviewed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants