Files
Thijs Herman 2b4340d8b0 feat: add organization vault support (#3)
* feat: add organization vault support

- Add RSA-OAEP decryption (type 3: SHA-256, type 4: SHA-1)
- Decrypt user's RSA private key from sync response (PKCS8 DER)
- Decrypt organization keys using user's RSA private key
- Route cipher decryption to correct key based on organizationId
- Personal vault items continue to work unchanged

Adds 11 new unit tests covering:
- RSA cipher string parsing (type 3/4)
- RSA-OAEP round-trip (SHA-1 and SHA-256)
- Private key decrypt/parse round-trip
- Org key decrypt + encKey/macKey split
- Cipher decryption with org vs personal key
- Backward compatibility for personal items

Also adds CI/CD pipeline (.github/workflows/ci.yml):
- Tests + build on PRs and main pushes
- Docker build + push to GHCR on main

* fix: split concatenated .gitignore entries

* chore: clean up gitignore
2026-02-21 12:08:03 +01:00

64 lines
561 B
Plaintext

# Binaries
*.exe
*.exe~
*.dll
*.so
*.dylib
bin/
dist/
# Go build artifacts
*.o
*.a
*.test
*.out
go.work
# Application binary
/vaultwarden-api
/cmd/api/api
# Environment files - CRITICAL FOR SECURITY
.env
.env.local
.env.*.local
*.env
# Secrets and credentials
secrets/
credentials/
*.pem
*.key
*.crt
*.p12
*.pfx
# IDEs
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
# Testing
coverage.out
*.coverprofile
# Logs
*.log
logs/
# Temporary files
tmp/
temp/
*.tmp
# Docker
docker-compose.override.yml
# Documentation artifacts
CLAUDE.md
docs/
settings.local.json