Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SM2证书模板中的算法没有初始化为SM2WithSM3,导致cryptogen生成的证书没法用 #5

Open
zhangbo-miuNEST opened this issue Jun 22, 2020 · 8 comments

Comments

@zhangbo-miuNEST
Copy link

bccsp/gm/certhelper.go这个文件中,函数ParseX509Certificate2Sm2( )在最后return之前需要增加如下代码,因为证书模板中的算法枚举值此时还都是0,没初始化,会导致cryptogen生成的证书的签名不对。
我调试好久才找到这个bug。由于这个bug的存在,repo主人的代码是没法用cryptogen测试的,这个bug是critical的。当然,要是不用cryptogen来生成测试证书,就没事。

	if sm2cert.SignatureAlgorithm == sm2.UnknownSignatureAlgorithm {
		sm2cert.SignatureAlgorithm = sm2.SM2WithSM3
	}

	if sm2cert.PublicKeyAlgorithm == sm2.UnknownPublicKeyAlgorithm {
		sm2cert.PublicKeyAlgorithm = sm2.ECDSA
	}

@csquan
Copy link

csquan commented Sep 11, 2020

遇到一样的问题,下载源码编译后,按照步骤生成证书,运行中发现order容器错误:Invalid DER for channel testchainid, 将具体错误打印出来 是err info: x509:unsupported elliptic curve。
按照上述修改后,重新用新的crypto生成证书等,运行,错误依旧。
请问怎么回事呢?

@csquan
Copy link

csquan commented Sep 11, 2020

不知道我哪里出错了?下载直接编译成功后启动,peer正常,order报错,加上上述的修改后,order错误同样。
我认为我的错误应该很普遍,所以有大神能指出问题在哪么?

@csquan
Copy link

csquan commented Sep 11, 2020

https://github.com/commis/fabric-sdk-go-gm/issues/1 这个帖子也说 https://github.com/dddengyunjie/fabric 代码编译的镜像默认启动网络不是国密,需要做以下代码的修改才能够支持默认国密。
具体修改地方参照我上面发的链接,也就是说本repo默认不可用,需要进行修改?

@csquan
Copy link

csquan commented Sep 11, 2020

修改后编译,重新生成证书,启动容器,错误依旧...Invalid DER for channel testchainid

@csquan
Copy link

csquan commented Sep 14, 2020

这个错误很普遍,只要用重新生成的程序生成证书创建通道文件后,发现order根本起不来,难道这么多人都没跑过?
我认为我的步骤应该没有错误,我完全下载的该工程源码 ,make后用新程序重新生成证书和通道文件等。

@juliofeng
Copy link

同样遇到orderer的rootcert证书问题,order无法跑通

@csquan
Copy link

csquan commented Oct 9, 2020

网络上很多代码都是提供思路,没有完善,需要亲自踩坑,哎,,不知道这些人什么想法

@csquan
Copy link

csquan commented Oct 12, 2020

Invalid DER for channel testchainid,需要修改代码,很多地方没有替换,奇怪的是网上很多人说未加任何修改跑通过。。。。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants