.. role:: raw-html-m2r(raw)
:format: html
.. _weidentity-quick-tools:
WeIdentity JAVA SDK 便捷使用工具
============================================================
整体介绍
--------
通过便捷工具,您可以快速的体验和使用 WeIdentity JAVA SDK。
部署步骤
--------
在使用之前,要确保您已完成 WeIdentity JAVA SDK 的安装部署,若您还没有完成,请参考\ `WeIdentity JAVA SDK 安装部署(部署智能合约) <./weidentity-build-with-deploy.html>`__\ 或者\ `WeIdentity JAVA SDK 安装部署(不部署智能合约) <./weidentity-build-without-deploy.html>`__\。
此步骤提供快速创建 WeIdentity DID、注册 Authority Issuer、发布 CPT、拉取 CPT 并生成 presentation policy 的能力。
.. raw:: html
1 创建您的 WeIdentity DID
''''''''''''''''''''''''''''''
.. raw:: html
这个步骤会帮您快速创建一个 WeIdentity DID。
::
cd ../tools
chmod +x create_weid.sh
./create_weid.sh
若执行成功,则会打印以下信息。
::
New weid has been created ----> did:weid:1:0x405a7ae297fc6d6fb02fb548db64b29f08114ca1
The related private key and public key can be found at /home/app/tonychen/test_gradle/weid-build-tools/output/create_weid/xxx/0x405a7ae297fc6d6fb02fb548db64b29f08114ca1.
表明创建的 ``WeID`` 是did:weid:1:0x405a7ae297fc6d6fb02fb548db64b29f08114ca1。
在 ``weid-build-tools/output/create_weid/xxx`` 目录下看到一些以 0x 开头的目录,找到跟刚刚生成的 WeIdentity DID 匹配的目录,里面包含了 WeIdentity DID,公钥 ``ecdsa_key.pub`` 和私钥 ``ecdsa_key``。
.. note::
xxx为您启用的CNS地址
2 注册 Authority Issuer (权威凭证发行者)
'''''''''''''''''''''''''''''''''''''''''''''''
.. note::
只有 Committee Member(委员会机构成员)可以进行本节操作,若您不是 Committee Member,您可以将您的 WeIdentity DID 和机构名称发给 Committee Member,让其帮您注册成 Authority Issuer。
- 注册 Authority Issuer
假设您要注册的 Authority Issuer 的 WeIdentity DID 为did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb,机构名称是 test。
::
chmod +x register_authority_issuer.sh
./register_authority_issuer.sh --org-id test --weid did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb
如果执行成功,会打印以下信息。
::
Registering authorityissuer ---> did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb, name is :test
Execute succeed.
- 移除Authority Issuer
如果您需要移除某个Authority Issuer,比如您要移除did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb:
::
./register_authority_issuer.sh --remove-issuer did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb
若执行成功,则会打印以下信息。
::
Removing authority issuer ---> did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb...
Execute succeed.
3 注册 Specific Issuer(特定类型的发行者)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. note::
只有委员会成员( Committee Member )可以进行本节操作,若您不是委员会成员,您可以将您的 WeIdentity DID 和机构名称发给委员会成员,让其帮您注册成 Specific Issuer。
- 注册特定类型机构
假设您要注册的机构的 WeIdentity DID 为did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb,注册类型为 college,只需执行此下命令:
::
chmod +x register_specific_issuer.sh
./register_specific_issuer.sh --type college --weid did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb
执行成功,则会打印以下信息。
::
[RegisterIssuer] Adding WeIdentity DID did:weid:1:0xe10e52f6b7c6751bd03afc023b8e617d7fd0429c in type: college
Specific issuers and types have been successfully registered on blockchain.
如果您需要注册多个机构,请将其 WeIdentity DID 用逗号分割开,如下所示:
::
./register_specific_issuer.sh --type college --weid did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb,did:weid:0x6efd256d02c1a27675de085b86989fa2ac1baddb
- 移除特定类型机构
比如您要从 college 类型中移除 WeID 为 did:weid:1:0x6efd256d02c1a27675de085b86989fa2ac1baddb 的 Specific Issuer:
::
./register_specific_issuer.sh --type college --remove-issuer did:weid:1:0x6efd256d02c1a27675de085b86989fa2ac1baddb
4 机构发布 CPT
''''''''''''''''''''''''''''''
此步骤会帮助机构发布指定的 CPT 到区块链上。
如果您的 WeIdentity DID 是执行\ `第1节 <#section-1>`__\生成的,您可以不用传入私钥,只用指定 CPT 的路径和 WeID 即可。
.. note::
以下样例中的 ``test_data/single/`` 已预置测试CPT。您也可以更改为其他包含您CPT的目录。
::
chmod +x register_cpt.sh
./register_cpt.sh --cpt-dir test_data/single/ --weid did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb
若执行成功,则会打印以下信息:
::
[RegisterCpt] register cpt file:JsonSchema.json result ---> success. cpt id ---> 1000
[RegisterCpt] register cpt file:JsonSchema.json with success.
Execute succeed.
如果您是通过其他途径创建的 WeIdentity DID,您需要自己指定私钥的位置。
假如机构的 WeID 是 did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb,私钥文件路径为 ``/home/test/private_key/ecdsa_key``:
::
./register_cpt.sh --cpt-dir test_data/single/ --weid did:weid:1:0x5efd256d02c1a27675de085b86989fa2ac1baddb --private-key /home/test/private_key/ecdsa_key
若执行成功,则会打印以下信息:
::
[RegisterCpt] register cpt file:JsonSchema.json result ---> success. cpt id ---> 1000
[RegisterCpt] register cpt file:JsonSchema.json with success.
Execute succeed.
5 拉取CPT并生成presentation policy模板
'''''''''''''''''''''''''''''''''''''''''''
.. note::
此步骤,可以帮使用者从区块链上拉取指定的已发布的 CPT,并转化成 POJO,同时也会根据您生成一个 presentation policy 模板。
假如您需要将 CPT id 为 1000 的 CPT 从区块链上拉取下来,并基于 CPT 1000 生成 presentation policy 的配置模板。
::
chmod +x cpt_to_pojo.sh
./cpt_to_pojo.sh --cpt-list 1000
若执行成功,则会打印以下信息。
::
Begin to generate pojo from cpt...
All cpt:[1000] are successfully transformed to pojo.
The weidentity-cpt.jar can be found in /home/app/tonychen/test_gradle/weid-build-tools/output/pojo/0x8ce1fc7af86917b503d7d5aaa2987a33ccf97f767199a360712fee667a54ef80/d8acebb597d0428fac682ad188e4312d/weidentity-cpt.jar
Begin to generate presentation policy ...
Presentation policy template is successfully generated, you can find it at /home/app/tonychen/test_gradle/weid-build-tools/output/presentation_policy.
表明生成的 CPT 的 POJO 的jar包在 ``/home/app/tonychen/test_gradle/weid-build-tools/output/pojo/xxx/`` 目录下,
生成的 presentation policy 模板在 ``/home/app/tonychen/test_gradle/weid-build-tools/output/presentation_policy`` 。
.. note::
xxx为您启用的CNS地址