iotaledger / iotaledger/identity
Allow developers to specify custom storage paths for key generation in the IOTA Identity framework
- Dominant language
- Rust
- Stars
- 346
- Forks
- 100
- Avg merge
- 13h 41m
- Merged PRs (30d)
- 2
Description
## Description
Implement the ability to specify custom storage paths in the KeytoolStorage implementation of the IOTA Identity Rust library. This feature should allow developers to store DID keys at user-defined locations rather than being restricted to the IOTA CLI default path.
## Motivation
I'm building an android app where users are able to create DIDs for a specific type of physical real world object, and i'm having difficulties to implement this because i can't find how to manage private keys for Identities.
Currently, KeytoolStorage relies on a fixed path for key storage, limiting its usability in decentralized applications where keys need to be stored locally on user devices or custom server directories. By enabling custom storage paths, developers can integrate the Rust-based IOTA Identity framework with existing infrastructure, enhancing security and user experience.
Requirements
1. Modify KeytoolStorage to accept a custom path parameter for storing keys.
2. Ensure the implementation maintains compatibility with the IOTA CLI's key management functionalities.
3. Optionally provide secure handling and storage of keys, preventing unauthorized access and ensuring best practices are followed.
Open questions (optional)
• How will this feature impact the integration with existing IOTA CLI operations?
• What mechanisms can be introduced to support encryption and secure access to keys stored in custom locations?
Contributor guide
Research direction
Start by locating the KeytoolStorage implementation and tracing how it currently selects the IOTA CLI default path. Check the IOTA CLI key-management integration before deciding how a custom path should be passed, then verify that keys can be stored there without breaking existing behavior; the open security questions require maintainer guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100