# DID Tool

# Overview

본 문서는 DID tool의 구조 및 사용 방법에 대해 설명합니다. DID 툴은 issuer 또는 verifier가 서버를 개발할 때, MyID2.0 플랫폼 연동을 위해서 최초 1회 DID를 발급하는 기능을 제공합니다.
DID를 성공적으로 발급하면, out 폴더에 key store 파일 형태로 DID와 private key가 저장됩니다. Key store 파일에 대한 자세한 내용은 이 문서의 Appendix 를 참고하십시오.

DID tool 사용이 쉽지 않거나, 네트워크의 사정등에 의해서 이 tool을 사용하기 힘든 경우 PARAMETA 담당자에게 문의 하시기 바랍니다. PARAMETA 담당자가 DID와 keystore 파일을 만들어서 제공해 드립니다.

# Download

DID tool은 이 사이트에서 다운로드할 수 없습니다. 아래 PARAMETA 담당자에게 문의하시기 바랍니다.

myid_techsupport@parametacorp.com

# Directory Structure

.
├── 0.Install
│   └── did-tool-0.1.0-all.jar
├── 1.DID-tool
│   ├── Config.xml
│   ├── CreatePrivateDid.java
│   ├── CreatePublicDid.java
│   ├── ToolException.java
│   └── run.sh
└── README.md

# Guide

아래 가이드에 따라 DID tool을 사용하여 DID를 발급합니다.
DID를 발급 받기 위해서는 블록체인에 접근해야 합니다. 블록체인 노드에 직접 연결 가능한 망에 있는 경우 1,2,3,4 번으로 발급이 가능 합니다.
블록체인 노드에 직접 연결이 불가능 한 경우 이를 대행 하는 서버를 통해 발급 받을 수 있습니다. 이 경우 5,6,7,8 번을 선택 하십시오.

# 1. 디렉토리 내 이동

DID-tool을 실행하기 위해서 "1.DID-tool" 폴더로 이동합니다.

cd 1.DID-tool

# 2. DID Tool 실행

다음 명령어를 사용하여 DID-tool을 실행시킵니다.

./run.sh
=====================================================================================================
DID Creation Tool(v1.0)
=====================================================================================================
=====================================================================================================
Node
=====================================================================================================

1. Financial Network (0x3001)
2. Financial TEST Network (0x3301)
3. ICON Network (0x1)
4. ICON TEST Network (0x3)

=====================================================================================================
WAS
=====================================================================================================

5. Financial Network (0x3001)
6. Financial TEST Network (0x3301)
7. ICON Network (0x1)
8. ICON TEST Network (0x2)
9. Kangwon-Do Network (0x3901)

=====================================================================================================

0. Exit

=====================================================================================================

Choose one please:
  • "1"을 입력하면 Financial Network의 DID가 생성됩니다. (현재 이 기능은 지원하지 않습니다).
  • "2"을 입력하면 Financial Test Network의 DID가 생성됩니다.
  • "3"을 입력하면 ICON Network의 DID가 생성됩니다. (현재 이 기능은 지원하지 않습니다).
  • "4"을 입력하면 ICON Test Network의 DID가 생성됩니다.
  • "5"을 입력하면 Financial Network의 DID가 서버를 통해 생성됩니다. (현재 이 기능은 지원하지 않습니다).
  • "6"을 입력하면 Financial Test Network의 DID가 서버를 통해 생성됩니다.
  • "7"을 입력하면 ICON Network의 DID가 서버를 통해 생성됩니다.
  • "8"을 입력하면 ICON Test Network의 DID가 서버를 통해 생성됩니다.
  • "9"를 입력하면 강원도청 DID가 서버를 통해 생성 됩니다.
  • "0"을 입력하면 툴이 종료됩니다.
  • 이외의 다른 문자를 입력하면 "Wrong Answer. Please enter the number." 안내와 함께 재입력 가능합니다.

어떤 네트워크의 DID를 만들어야 하는지는 파라메타 당당자에게 문의 하시기 바랍니다.

# 3. Public Key Name 입력

Creating DID...
Enter the name of public key:

위와 같은 화면이 나오면 public key의 이름을 입력 합니다.
보통 key-1, key-2 와 같이 입력 합니다.

# 4. DID 생성 후 Directory

DID가 성공적으로 만들어지면 아래의 경로에 key store 파일이 만들어집니다. Key store 파일 이름은 생성된 DID이며 파일에는 DIDKeyHolder 객체가 저장됩니다. 이 DIDKeyHolder로 DID를 사용할 수 있습니다.

.
├── 0.Install
│   └── did-tool-0.1.0-all.jar
├── 1.DID-tool
│   ├── Config.xml
│   ├── CreatePrivateDid.java
│   ├── CreatePublicDid.java
│   ├── ToolException.java
│   ├── out
│   │   ├── did:icon:02:c7c81c1175e19333910aa5802f16ad3960f487bb56a9a6be.json
│   └── run.sh
└── README.md

# Appendix

# KeyStore 파일

DID 생성 후에 out 폴더에 만들어지는 파일은 key store 파일이고 비빌번호로 암호화 되어 있습니다.
이 파일은 SDK를 이용해서 사용할 수 있으며, 그 방법은 아래와 같습니다.

DidKeyHolder issuerKeyHolder =
        Keystore.loadDidKeyHolder(password, new File("./path/did.json"));

# 비밀 번호

Key store 파일의 기본 비밀번호는 P@ssw0rd 입니다. 비밀번호는 CreatePublicDid.java 와 CreatePrivateDid.java 의 아래 내용을 변경 하는 것으로 수정할 수 있습니다.

// Store the key info by a file
String password = "P@ssw0rd";