IronCoreLabs / IronCoreLabs/ironoxide

[SPIKE] Expose signing functions

Open
#13 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
12
Forks
3
Avg merge
5h 4m
Merged PRs (30d)
3

Description

Add two new public methods to the `User` operations:
- `device_sign_data`
- `device_verify_data`

`device_sign_data` takes a borrowed reference to an array of bytes to sign. It should append a byte string containing the current device public signing key (base64 encoded), the current date-time (RFC3339 format), and the provided user ID, then use the current device's private signing key to generate the ed25519 signature (as a base64 encoded string) and return the byte string with the signing key date-time, provided user id, and signature.

`device_verify_data` takes borrowed reference to an array of bytes to verify and another borrowed reference to a string containing the public signing key, date-time, and provided user id, followed by the signature. It should extract the public key, pull off the signature, and validate the signature using the public key. Return boolean

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the User operations and the existing device signing-key and Ed25519 APIs. Confirm the specified byte-string layout, RFC3339 timestamp, base64 encoding, user ID handling, and verification result, then add coverage for device_sign_data and device_verify_data.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cryptography, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.