cli/pkg/crypt
Snider 2b32633b7c Implement Authentication and Authorization Features (#314)
* Implement authentication and authorization features

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP service in pkg/crypt/openpgp/service_test.go

This implementation aligns the codebase with the features described in the README, providing a foundation for secure, encrypted workspaces and PGP key management.

* Implement authentication and authorization features with fixes

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go with proper service names ('crypt', 'workspace')
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP and Workspace services
- Fix panic in PGP key serialization by using manual packet serialization
- Fix PGP decryption by adding armor decoding support

This implementation provides the secure, encrypted workspace manager features described in the README.

* Implement authentication and authorization features (Final)

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go with proper service names ('crypt', 'workspace')
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP and Workspace services
- Fix panic in PGP key serialization by using manual packet serialization
- Fix PGP decryption by adding armor decoding support
- Fix formatting and unused imports

This implementation provides the secure, encrypted workspace manager features described in the README.

* Fix CI failure and implement auth features

- Fix auto-merge workflow by implementing it locally with proper repository context
- Implement Workspace and Crypt interfaces and services
- Add unit tests and IPC handlers for new services
- Fix formatting and unused imports in modified files
- Fix PGP key serialization and decryption issues

---------

Co-authored-by: Claude <developers@lethean.io>
2026-02-05 06:55:50 +00:00
..
openpgp Implement Authentication and Authorization Features (#314) 2026-02-05 06:55:50 +00:00
checksum.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
checksum_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
crypt.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
crypt_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
hash.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
hash_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
hmac.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
hmac_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
kdf.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
kdf_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
symmetric.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
symmetric_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00