summon-keyring
summon-keyring copied to clipboard
The Keyring provider does not work on Windows
Summary
When trying to use Summon with the ring.py keyring provider, I encounter an error that "ring.py is not a valid Win32 application"
Steps to Reproduce
- Using Summon with the keyring provider on Windows...
- Store a secret in the keyring
- Use Summon to invoke a child process using the keyring provider
- observe error
Expected Results
Summon should use the keyring provider, obtain the secret from the keyring, and inject it as an environment variable for the child process
Actual Results
An error that ring.py is not a valid Win32 application
Reproducible
- [X] Always
- [ ] Sometimes
- [ ] Non-Reproducible
Version/Tag number
Latest
Environment setup
Summon on Windows 10 workstation, using the keyring provider, run as Administrator
Additional Information
Windows is interpreting ring.py as an EXE instead of expanding it using python3.exe. This appears to be a Go limitation on Windows:
"Unlike the “system” library call from C and other languages, the os/exec package intentionally does not invoke the system shell and does not expand any glob patterns or handle other expansions, pipelines, or redirections typically done by shells."