iotaledger / iotaledger/identity

Allow developers to specify custom storage paths for key generation in the IOTA Identity framework

Open
#1,775 4 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.