存证管理
完成企业认证后,即可开通可信存证管理功能。
前提条件
- 已获取管理控制台的登录账号与密码。
- 提前准备好存证文件,通过控制台上传时,文件大小不能超过20MB;大于20MB,请在本地实现文件加密,然后上传对应哈希。
购买套餐包
- 登录DAC管理控制台,在页面左上方选择区域。
- 在左侧导航栏共享版下方,单击“可信存证 > 总览”,进入“总览”页面。
- 在“总览”页面,单击页面右上角的“购买套餐包”。
- 在配置参数页面,选择套餐包规格。
表1 参数说明 参数
说明
类型
可信存证
购买对象
套餐包
套餐包规格
支持四种规格:100次、1万次、10万次、50万次。
有效周期
- 当套餐包规格选择100次时,默认为1月,无法修改。
- 当套餐包规格选择1万次、10万次、50万次时,默认为1年,无法修改。
购买数量
购买套餐包个数,取值为1到999之间的整数。
说明:- 套餐包购买后不支持退款。
- 套餐包在生效期内,先扣除已购买套餐包内的额度,超出部分按当月累计使用量进行按需计费。
- 单击“立即购买”。
确认基本信息无误后,请仔细阅读并勾选“我已阅读并同意《华为云用户协议》、《免责声明》和《华为云数字资产链服务协议》”。
- 单击“去支付”。支付成功后可在“费用与成本 > 我的套餐 > 资源包”页面的资源包列表中查看新购买的套餐包。详情请参见资源包。
- (可选)单击左侧导航栏的“套餐包管理”,即可查看可信存证套餐包使用情况,详细操作请参考查看套餐包。
新增存证
- 单击左侧导航栏的“可信存证 > 存证管理”,进入“存证管理”页面。
- 单击“新增存证”。
- 在新增存证页面,选择普通存证的类型,添加文件,自定义存证名称。
目前仅支持普通存证。
- 单击“确定”。添加成功后,存证管理页面会显示一条存证记录,可以查看证据指纹和证据ID等信息。
- 在存证管理页面可以查看添加成功后存证名称,存证类型,证据指纹,存证ID,存证时间。
- 单击对应存证操作列的“查看证书”即可查看和下载华为云区块链BCS签发的证书。
哈希生成
可信存证服务后端只做简单的哈希上链。请您将上链的文件哈希提前生成。哈希值请采用国密SM3算法。如果您在需要在代码中集成,可参考该算法的开源库实现。
- go语言的简单示例如下:
// go.mod依赖 require github.com/tjfoc/gmsm v1.4.1
// 示例代码 package main import ( "fmt" "github.com/tjfoc/gmsm/sm3" ) func main() { data := "test" h := sm3.New() h.Write([]byte(data)) sum := h.Sum(nil) fmt.Printf("%x\n", sum) } 输出 55e12e91650d2fec56ec74e1d3e4ddbfce2ef3a65890c2a19ecf88a307e76a23
- java语言的简单示例如下:
// maven依赖 <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> <version>1.72</version> </dependency>
// 示例代码 package sm3; import org.bouncycastle.crypto.digests.SM3Digest; import org.bouncycastle.pqc.legacy.math.linearalgebra.ByteUtils; public class demo { public static void main(String[] args) { byte[] srcData = "test".getBytes(); SM3Digest digest = new SM3Digest(); digest.update(srcData, 0, srcData.length); byte[] hash = new byte[digest.getDigestSize()]; digest.doFinal(hash, 0); System.out.println(ByteUtils.toHexString(hash)); } } 输出 55e12e91650d2fec56ec74e1d3e4ddbfce2ef3a65890c2a19ecf88a307e76a23