8000 FISCO-BCOS中client.keystore 的生成方法 · Issue #20 · FISCO-BCOS/web3sdk · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
FISCO-BCOS中client.keystore 的生成方法 #20
Open
@fisco-dev

Description

@fisco-dev

FISCO-BCOS中client.keystore 的生成方法
1、client.keystore是用做web3sdk的SSL证书。
2、在web3sdk V1.0.0中,client.keystore里面有两个证书,一个client证书,一个ca证书。client.keystore的密码必须为“123456”,keystore中有私钥的client证书的密码也必须为“123456”。

V1.0.0版本的client.keystore生成方式:

(1)keytool -import -trustcacerts -alias ca -file ca.crt -keystore client.keystore
(2)openssl pkcs12 -export -name client -in server.crt -inkey server.key -out keystore.p12
(3)keytool -importkeystore -destkeystore client.keystore -srckeystore keystore.p12 -srcstoretype pkcs12 -alias client
(4)、Attention! Password must be ”123456”

注意:其中用到的ca.crt,必须是节点的ca.crt。server.crt,server.key 必须是节点的或者节点的兄弟证书(同一CA颁发)。

3、在web3sdk V1.1.0中,我们修改了证书这块的缺陷,client.keystore只保存client证书,而且命名和密码都做成了可配置。
相关的配置是这样的:

<bean class="org.bcos.channel.handler.ChannelConnections">
	<property name="caCertPath" value="classpath:ca.crt" />
	<property name="clientKeystorePath" value="classpath:client.keystore" />
	<property name="keystorePassWord" value="123456" />
	<property name="clientCertPassWord" value="123456" />
	<property name="connectionsStr">
		<list>
			<value>node1@10.107.105.137:8822</value>
		</list>
	</property>
</bean>

V1.1.0版本的client.keystore生成方式:

(1)openssl pkcs12 -export -name client -in server.crt -inkey server.key -out keystore.p12
(2)keytool -importkeystore -destkeystore client.keystore -srckeystore keystore.p12 -srcstoretype pkcs12 -alias client

注意:server.crt,server.key 必须是节点的或者节点的兄弟证书(同一CA颁发)。

附录
常用的keystore命令:https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html
keystore 和 openssl整合的命令:
http://www.herongyang.com/crypto/Migrating_Keys_keytool_to_OpenSSL_4.html

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0