Rockcraft fails to run on FIPS-enabled hosts
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
### Bug Description
If the host is FIPS-enabled, Rockcraft won't work, likely due to a python crypto operation that is not allowed by the hosts crypto libraries.
### To Reproduce
1. get a FIPS-enabled host (`pro attach <token>`, `pro enable fips-updates`, `reboot`)
2. run rockcraft (`rockcraft init`, `rockcraft pack`)
### Environment
Tested with both Rockcraft 1.12 and 1.10, on a FIPS-enabled 22.04 VM.
### rockcraft.yaml
```yaml
(any)
```
### Relevant log output
```shell
Traceback (most recent call last):
File "/snap/rockcraft/3381/bin/rockcraft", line 5, in <module>
from rockcraft.cli import run
File "/snap/rockcraft/3381/lib/python3.12/site-packages/rockcraft/cli.py", line 21, in <module>
from craft_application import commands as appcommands
File "/snap/rockcraft/3381/lib/python3.12/site-packages/craft_application/__init__.py", line 18, in <module>
from craft_application.application import (
File "/snap/rockcraft/3381/lib/python3.12/site-packages/craft_application/application.py", line 36, in <module>
import craft_parts
File "/snap/rockcraft/3381/lib/python3.12/site-packages/craft_parts/__init__.py", line 19, in <module>
from . import plugins
File "/snap/rockcraft/3381/lib/python3.12/site-packages/craft_parts/plugins/__init__.py", line 20, in <module>
from .plugins import (
File "/snap/rockcraft/3381/lib/python3.12/site-packages/craft_parts/plugins/plugins.py", line 37, in <module>
from .npm_plugin import NpmPlugin
File "/snap/rockcraft/3381/lib/python3.12/site-packages/craft_parts/plugins/npm_plugin.py", line 26, in <module>
import requests
File "/snap/rockcraft/3381/lib/python3.12/site-packages/requests/__init__.py", line 164, in <module>
from .api import delete, get, head, options, patch, post, put, request
File "/snap/rockcraft/3381/lib/python3.12/site-packages/requests/api.py", line 11, in <module>
from . import sessions
File "/snap/rockcraft/3381/lib/python3.12/site-packages/requests/sessions.py", line 15, in <module>
from .adapters import HTTPAdapter
File "/snap/rockcraft/3381/lib/python3.12/site-packages/requests/adapters.py", line 80, in <module>
_preloaded_ssl_context = create_urllib3_context()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/snap/rockcraft/3381/lib/python3.12/site-packages/urllib3/util/ssl_.py", line 298, in create_urllib3_context
context = SSLContext(PROTOCOL_TLS_CLIENT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/snap/rockcraft/current/usr/lib/python3.12/ssl.py", line 438, in __new__
self = _SSLContext.__new__(cls, protocol)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ssl.SSLError: [CRYPTO] unknown error (_ssl.c:3076)
```
Evaluation history
No evaluation history available.