我們提供了合約體驗鏈方便您快速體驗區塊鏈功能,主要介紹如何在體驗鏈上創建證書和賬戶的相關操作。
前置條件
您已經開通阿里云 BaaS 服務,并登錄阿里云。
申請體驗鏈權限
登錄 阿里云 BaaS 控制臺。
在 螞蟻區塊鏈 > 概覽 頁面,選擇合約體驗鏈,單擊 免費試用。
之后,您可以在該體驗鏈上執行以下操作:
申請TLS連接證書
申請免費試用體驗鏈后,平臺將引導您進行TLS連接證書的申請操作。
BaaS 平臺提供 自動生成 和 手動生成 兩種方式生成證書和密鑰。推薦使用安全、便捷的自動生成方式。
證書有效期為三年,過期后請重新申請。
若選擇 自動生成,需要完成以下步驟:
填寫必要的申請信息,單擊 申請。
下載私鑰和證書。
說明私鑰只有一次下載機會,務必妥善保存,離開頁面后不能再找回。
若選擇 手動生成,需要完成以下步驟:
上傳本地生成的證書請求文件
client.csr
,單擊 申請。本地生成私鑰client.key
和證書請求client.csr
的具體步驟,參見本文 本地生成證書請求和公私鑰對。
創建鏈上賬戶
單擊體驗鏈卡片右上角的更多按鈕 ··· ,在彈出的菜單欄中單擊創建賬戶。
在彈窗中,選擇一種創建方式后,根據頁面提示完成創建。
平臺提供手動創建和自動創建兩種方式創建賬戶,推薦使用安全且便捷的自動創建方式。
若選擇 手動創建,請按以下步驟完成創建。
選擇 手動創建 的創建方式后,填寫賬戶名稱、賬戶公鑰、賬戶恢復公鑰的信息。
完成后,單擊 申請。
說明您可使用客戶端工具便捷生成和管理公私鑰,關于本地生成公私鑰對和恢復公私鑰對的具體步驟,參見本文的 本地生成證書請求和公私鑰對。
若選擇 自動創建,則需要您妥善保存賬號相關的密鑰信息。
選擇 自動創建 的創建方式后,填寫賬戶名稱、賬戶密碼及賬戶恢復密碼的信息。
完成后,單擊 申請。
創建成功后,請在彈窗中下載賬戶對應的私鑰、公鑰對及恢復私鑰、恢復公鑰,后續應用開發時需要使用到。
重要私鑰只有一次下載機會,請您妥善保管賬戶的私鑰信息,離開此頁面后無法再次下載。
調試并部署合約
完成 TLS 連接證書申請和鏈上賬戶創建的操作后,您可以單擊免費體驗鏈上的調試合約,進入平臺提供的 Cloud IDE 在線合約開發工具的頁面。Cloud IDE 支持多語言類型的合約開發、編譯、調試、部署和調用的能力,相關操作可參見使用Cloud IDE。
SDK連接
證書、賬戶申請成功后,單擊體驗鏈右上角更多按鈕 ··· 依次下載簽名證書、下載 SDK、下載根證書(trustCa)、下載根證書(ca.crt),并把相應的組建和證書保存到本地,即可為后續合約鏈開發做準備。有關合約鏈開發配置,請參見 開發指南。
區塊鏈瀏覽器
使用SDK與體驗鏈建立連接并發起鏈上交易后,單擊體驗鏈上的查看鏈詳情,即可進入區塊鏈瀏覽器頁面,支持在該頁面查看鏈相關的基本信息,包括業務總量統計、網絡狀態、節點詳情、當前塊高,以及對應交易量變化、區塊和交易等。
有關區塊鏈瀏覽器的使用說明,請參見查看區塊鏈瀏覽器。
本地生成證書請求和公私鑰對
使用 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
中的內容為用戶公鑰。
可以執行該命令兩次,生成兩個公私鑰對,一個用做賬戶的公私鑰對,另一個用做恢復該賬戶的公私鑰對。