SVX Documentation
HomepageAPISDK
2022-01
2022-01
  • What is the API-of-Me
  • Getting Started
    • Setting Up
    • Quickstart
    • Terminology
  • Platform
    • Secure Value Exchange
    • Vault
      • Enterprise Vault
  • Guides
    • Credential Schemas
    • Credential Types
    • Credentials
      • Issue Credentials
    • DIDs
      • DID Resolver
      • DID Registrar
      • DID Methods
        • did:key
        • did:web
        • did:ebsi
        • did:indy
      • DID Controller Keypair
    • OpenID Connect
      • For Verifiable Presentation
    • Presentations
    • Presentation Definitions
    • Vault
      • Setting up Access
      • Items and Slots
      • Connections and Sharing
      • Classification Hierarchies
      • Attachments
      • On-sharing & Client Tasks
      • Account Delegation
  • Tools
    • Meeco SDK & CLI
    • Cryppo SDK & CLI
  • Policies
    • Privacy
    • Developer Policy
  • Releases
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Guides
  2. DIDs

DID Controller Keypair

Creating a keypair used to control a DID method

Create a new DID controller keypair using openssl. In this example, we use Ed25519, but other algorithms are also supported (see specification).

Make sure you have openssl & GNU coreutils installed and avalible on command line (e.g. brew install coreutils on macOS)

openssl genpkey -algorithm ed25519 -outform DER >privkey
openssl pkey -in privkey -pubout -out pubkey -inform DER -outform DER

This creates two files, pubkey and privkey.

Depending on the method, the public key is encoded in either

  • Base64 URL (base64url)

  • Base58 (base58)

FAQ

How do I install base58 app (on macOS).

There are two ways to install it. If one app doesn't work, try the other one.

# using howbrew
brew install base58
# using cargo (requires rust tooling to be installed)
cargo install bs58-cli
## hint latter works best by symlinking: ln -s source_path target_in_path/base58

How to install & use openssl 3 (on macOS).

Some newer features are only available in the latest version of openssl, version 3. To install it

brew install openssl@3

It is not automatically added to the path as macOS uses LibreSSL. Therefore you can use the absolute path.

/opt/homebrew/opt/openssl@3/bin/openssl

Last updated 1 year ago

Was this helpful?