Skip to main content

Secure AWS credential storage and file encryption using Windows Hello biometric authentication

Project description

WinHello-Crypto

CI Security Tests codecov PyPI version Python Support License

Secure AWS credential storage and file encryption using Windows Hello biometric authentication.

Quick Start

Install

pip install winhello-crypto

AWS Credentials Manager

# Store AWS credentials
aws-hello-creds set myprofile --access-key AKIA... --secret-key secret123

# Use stored credentials  
aws-hello-creds get myprofile

# List all profiles
aws-hello-creds list

# Export as environment variables
aws-hello-creds export myprofile

File Encryption

# Encrypt a file
winhello-crypto encrypt myfile.txt

# Decrypt a file
winhello-crypto decrypt myfile.txt.enc

AWS Credentials Manager Commands

Basic Operations

# Store credentials
aws-hello-creds set <profile> --access-key <key> --secret-key <secret> [--session-token <token>] [--region <region>]

# Retrieve credentials
aws-hello-creds get <profile> [--format json|env|ini]

# List all profiles
aws-hello-creds list [--format table|json]

# Delete credentials
aws-hello-creds delete <profile>

# Check if profile exists
aws-hello-creds exists <profile>

Advanced Operations

# Backup all credentials to encrypted file
aws-hello-creds backup --file backup.enc

# Restore credentials from backup
aws-hello-creds restore --file backup.enc

# Rotate credentials (requires AWS CLI configured)
aws-hello-creds rotate <profile>

# Export as environment variables
aws-hello-creds export <profile> [--shell bash|powershell|cmd]

# Copy profile
aws-hello-creds copy <source> <destination>

# Update existing profile
aws-hello-creds update <profile> [--access-key <key>] [--secret-key <secret>] [--session-token <token>] [--region <region>]

File Operations

# Encrypt file with profile credentials
aws-hello-creds encrypt-file <profile> <input-file> [--output <output-file>]

# Decrypt file with profile credentials
aws-hello-creds decrypt-file <profile> <input-file> [--output <output-file>]

File Encryption Commands

# Encrypt file
winhello-crypto encrypt <input-file> [--output <output-file>]

# Decrypt file
winhello-crypto decrypt <input-file> [--output <output-file>]

# Verify integrity
winhello-crypto verify <encrypted-file>

Use Cases

Development Workflows

# Set up dev environment
aws-hello-creds set dev --access-key AKIA... --secret-key secret123 --region us-west-2
aws-hello-creds export dev --shell powershell

# Switch to production
aws-hello-creds export prod --shell powershell

CI/CD Integration

# Backup before deployment
aws-hello-creds backup --file pre-deploy-backup.enc

# Restore if needed
aws-hello-creds restore --file pre-deploy-backup.enc

Secure File Sharing

# Encrypt sensitive files
winhello-crypto encrypt config.json
winhello-crypto encrypt database-backup.sql

# Share encrypted files safely
# Recipients need Windows Hello to decrypt

Security Features

  • Windows Hello Integration: Uses biometric authentication (fingerprint, face, PIN)
  • AES-256-GCM Encryption: Military-grade encryption for stored credentials
  • No Plain Text Storage: All credentials encrypted at rest
  • Secure Key Derivation: PBKDF2 with high iteration count
  • Memory Protection: Sensitive data cleared from memory after use

Requirements

  • Windows 10/11 with Windows Hello enabled
  • Python 3.7+
  • Biometric device (fingerprint reader, camera) or PIN set up

Troubleshooting

Windows Hello Not Available

Error: Windows Hello is not available on this device

Solution: Enable Windows Hello in Settings > Accounts > Sign-in options

Authentication Failed

Error: User verification failed

Solution:

  • Ensure biometric device is working
  • Try using PIN if biometric fails
  • Check Windows Hello is enabled for apps

Profile Not Found

Error: Profile 'myprofile' not found

Solution: Use aws-hello-creds list to see available profiles

Permission Denied

Error: Access denied to Windows Credential Manager

Solution: Run as administrator or check Windows Credential Manager permissions

Development

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run security checks
bandit -r .
safety check

# Format code
black .

License

Apache License 2.0 - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

winhello_crypto-2.1.9.tar.gz (61.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

winhello_crypto-2.1.9-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file winhello_crypto-2.1.9.tar.gz.

File metadata

  • Download URL: winhello_crypto-2.1.9.tar.gz
  • Upload date:
  • Size: 61.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for winhello_crypto-2.1.9.tar.gz
Algorithm Hash digest
SHA256 e0671a769d503bd16296b732a0f4fbe82f6b05f6459e0daa99227932dd84b3d1
MD5 bc264a59263b78c2fa9ebc27b5c21d08
BLAKE2b-256 6d27ff74ede319df7a4d884a8ab5ce8b164a475fd2346436e9d714961de391ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for winhello_crypto-2.1.9.tar.gz:

Publisher: pypi-publish.yml on SergeDubovsky/WinHello-Crypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file winhello_crypto-2.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for winhello_crypto-2.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 f30ac31df82d56871e862e50f09e458bccce13844172342757b1c8d263d30679
MD5 35f2baa4f5e5a893eb006e6cc48d3a3d
BLAKE2b-256 c504d33ec6551d3f8faa1242e909cb096a3bcbfc4bdbbbc6cb19c1bf40d48b4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for winhello_crypto-2.1.9-py3-none-any.whl:

Publisher: pypi-publish.yml on SergeDubovsky/WinHello-Crypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page