试用合约体验链
我们提供了合约体验链方便您快速体验区块链功能,主要介绍如何在体验链上创建证书和账户的相关操作。
合约体验链仅供功能体验,请不要上传您的业务代码和数据。
了解如何使用区块链完整服务,请参考 创建联盟。
前置条件
您已经开通阿里云 BaaS 服务,并登录阿里云。
申请体验链权限
登录 阿里云 BaaS 控制台。
在 概览 页面,选择合约体验链,点击 免费试用。
生成证书和密钥,并创建账户。BaaS 平台提供 自动生成密钥和证书 和 手动生成密钥和证书 两种方式。推荐使用安全、便捷的自动生成方式。
说明证书有效期为三年,过期后请重新申请。
若选择 自动生成,需要完成以下步骤:
填写必要的申请信息,点击 申请。
下载私钥和证书。
说明私钥只有一次下载机会,务必妥善保存,离开页面后不能再找回。
单击体验链卡片右上角的更多按钮 ··· ,在弹出的菜单栏中单击创建账户。
使用 自动创建账户 方式。在创建账户的申请弹窗中填写必要信息完成创建。
下载私钥、公钥对及恢复私钥、恢复公钥对。
说明私钥和恢复私钥只有一次下载机会,务必妥善保存,离开此页面后不能再找回。
若选择 手动生成,需要完成以下步骤:
上传本地生成的证书请求文件
client.csr
,点击 申请。本地生成私钥client.key
和证书请求client.csr
的具体步骤,参见本文 本地生成证书请求和公私钥对。单击体验链卡片右上角的更多按钮 ··· ,在弹出的菜单栏中单击创建账户。
使用 手动创建账户 方式,填写账户名,公钥及恢复公钥,点击 创建账户。本地生成公私钥对和恢复公私钥对的具体步骤,参见本文的 本地生成证书请求和公私钥对。
证书、账户申请成功后,点击体验链右上角更多按钮 ··· 依次下载签名证书、下载 SDK、下载根证书(trustCa)、下载根证书(ca.crt),并把相应的组建和证书保存到本地,为后续合约链开发做准备。后续的合约链开发配置,参见 开发指南。
本地生成证书请求和公私钥对
使用 OpenSSL
macOS 系统无需手动安装 OpenSSL。
安装 OpenSSL
在 Windows 操作系统中安装 OpenSSL 步骤如下:
前往 OpenSSL 下载页面(英文),找到 1.0.2o 版本(推荐)并下载安装包,或点击下方下载链接:
32 位的 OpenSSL 安装包(直接下载)
64 位的 OpenSSL 安装包(直接下载)
打开命令行工具,进入 OpenSSL 安装路径的
bin
目录。准备环境变量,在命令行中输入
set OPENSSL_CONF=open
ssl
.cfg
。
生成证书请求
使用 OpenSSL 制作私钥和证书请求。
务必记住此处设置的私钥密码,并妥善保存私钥文件。
openssl req -newkey rsa:2048 -keyout key_pkcs10.pem -out csr.pem
Generatinga 2048 bit RSA private key
.........................................+++
..................................+++
writingnew private key to 'key_pkcs10.pem'
EnterPEM pass phrase:
Verifying- Enter PEM pass phrase:
-----
在该命令执行过程中,系统会要求您填写如下信息:
Country Name (2 letter code):使用国际标准组织(ISO)国码格式,填写 2 个字母的国家代号,如中国填写 CN。
State or Province Name (full name):省份,例如填写 Zhejiang。
Locality Name (eg, city):城市,例如填写 Hangzhou。
Organization Name (eg, company):组织单位,例如填写公司名的拼音。
Organizational Unit Name (eg, section):例如填写 IT Dept。
Common Name (eg, your websites domain name):进行 SSL 加密的网站域名。
说明这里并不是单指您的域名,而是直接使用 SSL 的网站名称,例如:pay.****.com。
不同的 URL 在这里被定义为不同的网站域名,例如:****.com、www.****.com、pay.****.com 会被识别为 3 个不同的网站域名。
这里的网站域名应该和邮件客户端软件设置的 SMTP/POP3 服务器名称一致。
Email Address:邮件地址,选填。
A challenge password:选填。
An optional company name:选填。
使用本地密钥服务
为方便使用,BaaS 平台提供 Java 版本的本地密钥服务。
启动密钥服务
准备 Java 运行环境,1.7 版本或以上。
下载密钥生成工具(点击此处 下载)。
运行命令
java -jar baas-crypto-tool-1.0.0.jar --server.port=8080
启动密钥服务。
生成证书请求
启动密钥服务之后,在浏览器中访问https://localhost:8080/api/crypto/generateTlsKey?algo=rsa&isPkcs8=true&password=${password}
生成 tlskey.zip
文件包。解压该 .zip 包后得到 client.csr
和 client.key
。其中,client.key
用于连接区块链,client.csr
需要通过 BaaS 平台界面来进行签名,参见 申请体验链权限 章节。
请把链接中的 ${password} 替换为您自己的密码。
生成公私钥对
启动密钥服务之后,在浏览器中访问https://localhost:8080/api/crypto/generateUserKey?algo=ec&isPkcs8=true&password=${password}
生成 userkey.zip
文件包。解压该 .zip 包后得到 user.key
和 pub.txt
。其中,user.key
为用户私钥,pub.txt
中的内容为用户公钥。
可以执行该命令两次,生成两个公私钥对,一个用做账户的公私钥对,另一个用做恢复该账户的公私钥对。