正在显示
3 个修改的文件
包含
71 行增加
和
13 行删除
@@ -19,6 +19,7 @@ type ( | @@ -19,6 +19,7 @@ type ( | ||
19 | PrivatePem []byte | 19 | PrivatePem []byte |
20 | PublicKey string | 20 | PublicKey string |
21 | Host string | 21 | Host string |
22 | + EnableDebugLog bool | ||
22 | } | 23 | } |
23 | UpToChainRequest struct { | 24 | UpToChainRequest struct { |
24 | // 上链数据的数据库、数据表等的标识值 (非必填) | 25 | // 上链数据的数据库、数据表等的标识值 (非必填) |
@@ -47,7 +48,7 @@ type ( | @@ -47,7 +48,7 @@ type ( | ||
47 | // type为1或者3时必填 | 48 | // type为1或者3时必填 |
48 | TsTxId string `json:"tsTxId,omitempty"` | 49 | TsTxId string `json:"tsTxId,omitempty"` |
49 | // type为2时必填 | 50 | // type为2时必填 |
50 | - InnerPrimaryKey string `json:"innerPrimaryKey,omitempty"` | 51 | + IssueId string `json:"issueId,omitempty"` |
51 | // type为3时必填 | 52 | // type为3时必填 |
52 | Value string `json:"value,omitempty"` | 53 | Value string `json:"value,omitempty"` |
53 | // 当type=1或者2必填,为false只显示密文,为true溯源才会显示原文 | 54 | // 当type=1或者2必填,为false只显示密文,为true溯源才会显示原文 |
@@ -70,8 +71,7 @@ func (c *BSNBlockChain) UpToChain(options *UpToChainOptions) (*UpToChainResponse | @@ -70,8 +71,7 @@ func (c *BSNBlockChain) UpToChain(options *UpToChainOptions) (*UpToChainResponse | ||
70 | if err != nil { | 71 | if err != nil { |
71 | return nil, err | 72 | return nil, err |
72 | } | 73 | } |
73 | - data, _ := httputil.DumpRequest(req.GetRequest(), true) | ||
74 | - fmt.Println(string(data)) | 74 | + |
75 | var upToChainResponse UpToChainResponse | 75 | var upToChainResponse UpToChainResponse |
76 | _, err = c.HandlerResponse(req, &upToChainResponse) | 76 | _, err = c.HandlerResponse(req, &upToChainResponse) |
77 | 77 | ||
@@ -84,8 +84,6 @@ func (c *BSNBlockChain) GetToken(options *GetTokenRequest) (*GetTokenResponse, e | @@ -84,8 +84,6 @@ func (c *BSNBlockChain) GetToken(options *GetTokenRequest) (*GetTokenResponse, e | ||
84 | if err != nil { | 84 | if err != nil { |
85 | return nil, err | 85 | return nil, err |
86 | } | 86 | } |
87 | - data, _ := httputil.DumpRequest(req.GetRequest(), true) | ||
88 | - fmt.Println(string(data)) | ||
89 | var getTokenResponse = GetTokenResponse{} | 87 | var getTokenResponse = GetTokenResponse{} |
90 | _, err = c.HandlerResponse(req, &getTokenResponse) | 88 | _, err = c.HandlerResponse(req, &getTokenResponse) |
91 | return &getTokenResponse, err | 89 | return &getTokenResponse, err |
@@ -130,12 +128,15 @@ func (c *BSNBlockChain) MakeRequest(obj interface{}, action string, signAction, | @@ -130,12 +128,15 @@ func (c *BSNBlockChain) MakeRequest(obj interface{}, action string, signAction, | ||
130 | if httpMethod == http.MethodPost || httpMethod == http.MethodPut { | 128 | if httpMethod == http.MethodPost || httpMethod == http.MethodPut { |
131 | req.JSONBody(obj) | 129 | req.JSONBody(obj) |
132 | } | 130 | } |
131 | + if c.EnableDebugLog { | ||
132 | + data, _ := httputil.DumpRequest(req.GetRequest(), true) | ||
133 | + fmt.Println(string(data)) | ||
134 | + } | ||
133 | return req, nil | 135 | return req, nil |
134 | } | 136 | } |
135 | 137 | ||
136 | func (c *BSNBlockChain) HandlerResponse(req *httplib.BeegoHTTPRequest, value interface{}) (*Response, error) { | 138 | func (c *BSNBlockChain) HandlerResponse(req *httplib.BeegoHTTPRequest, value interface{}) (*Response, error) { |
137 | response := &Response{} | 139 | response := &Response{} |
138 | - //req.DumpBody(true) | ||
139 | data, err := req.Bytes() | 140 | data, err := req.Bytes() |
140 | if err != nil { | 141 | if err != nil { |
141 | return nil, err | 142 | return nil, err |
@@ -151,6 +152,9 @@ func (c *BSNBlockChain) HandlerResponse(req *httplib.BeegoHTTPRequest, value int | @@ -151,6 +152,9 @@ func (c *BSNBlockChain) HandlerResponse(req *httplib.BeegoHTTPRequest, value int | ||
151 | if err != nil { | 152 | if err != nil { |
152 | return nil, err | 153 | return nil, err |
153 | } | 154 | } |
155 | + if c.EnableDebugLog { | ||
156 | + fmt.Println("\nHttp Response-> \n", string(data)) | ||
157 | + } | ||
154 | if response.Code != 0 { | 158 | if response.Code != 0 { |
155 | return nil, fmt.Errorf("upchain code:%v msg:%v", response.Code, response.Message) | 159 | return nil, fmt.Errorf("upchain code:%v msg:%v", response.Code, response.Message) |
156 | } | 160 | } |
@@ -52,7 +52,6 @@ var host = "http://101.34.29.149:9092/test" | @@ -52,7 +52,6 @@ var host = "http://101.34.29.149:9092/test" | ||
52 | 52 | ||
53 | func TestSignature(t *testing.T) { | 53 | func TestSignature(t *testing.T) { |
54 | options := NewUpToChainOptions("table", "1", "149848948").WithDesc("desc") | 54 | options := NewUpToChainOptions("table", "1", "149848948").WithDesc("desc") |
55 | - //options := NewUpToChainOptions("table", "", "").WithDesc("") | ||
56 | bsn := &BSNBlockChain{ | 55 | bsn := &BSNBlockChain{ |
57 | PrivatePem: priK, | 56 | PrivatePem: priK, |
58 | PublicPem: []byte(pubPem), | 57 | PublicPem: []byte(pubPem), |
@@ -142,6 +141,7 @@ func TestBSNBlockChain_GetToken(t *testing.T) { | @@ -142,6 +141,7 @@ func TestBSNBlockChain_GetToken(t *testing.T) { | ||
142 | Host: host, | 141 | Host: host, |
143 | PublicKey: pubKey, | 142 | PublicKey: pubKey, |
144 | PrivatePem: priK, | 143 | PrivatePem: priK, |
144 | + EnableDebugLog: true, | ||
145 | } | 145 | } |
146 | options := &GetTokenRequest{ | 146 | options := &GetTokenRequest{ |
147 | Type: 1, | 147 | Type: 1, |
@@ -152,5 +152,63 @@ func TestBSNBlockChain_GetToken(t *testing.T) { | @@ -152,5 +152,63 @@ func TestBSNBlockChain_GetToken(t *testing.T) { | ||
152 | if err != nil { | 152 | if err != nil { |
153 | t.Fatal(err) | 153 | t.Fatal(err) |
154 | } | 154 | } |
155 | - t.Log(token.Token) | 155 | + fmt.Println(token.Token) |
156 | +} | ||
157 | + | ||
158 | +func TestBSNBlockChain_UpToChain_All_Type(t *testing.T) { | ||
159 | + bc := &BSNBlockChain{ | ||
160 | + PublicPem: []byte(pubPem), | ||
161 | + Host: host, | ||
162 | + PublicKey: pubKey, | ||
163 | + PrivatePem: priK, | ||
164 | + EnableDebugLog: true, | ||
165 | + } | ||
166 | + inputs := []struct { | ||
167 | + name string | ||
168 | + option *UpToChainOptions | ||
169 | + t int | ||
170 | + }{ | ||
171 | + { | ||
172 | + "1.交易哈希溯源", | ||
173 | + NewUpToChainOptions("app.order", "793745u988434", `{"orderId":"793745u988434"}`).WithDesc(""), | ||
174 | + 1, | ||
175 | + }, | ||
176 | + { | ||
177 | + "2.交易哈希溯源", | ||
178 | + NewUpToChainOptions("app.order", "793745u988435", `{"orderId":"793745u988435"}`).WithDesc("").WithInnerPrimaryIssueId("893745u988435"), | ||
179 | + 2, | ||
180 | + }, | ||
181 | + { | ||
182 | + "3.验真", | ||
183 | + NewUpToChainOptions("app.order", "793745u988436", `{"orderId":"793745u988436"}`).WithDesc("").WithInnerPrimaryIssueId("893745u988436"), | ||
184 | + 3, | ||
185 | + }, | ||
186 | + } | ||
187 | + for i := range inputs { | ||
188 | + input := inputs[i] | ||
189 | + fmt.Println(input.name) | ||
190 | + rsp, err := bc.UpToChain(input.option) | ||
191 | + if err != nil { | ||
192 | + t.Fatal(err) | ||
193 | + } | ||
194 | + fmt.Println() | ||
195 | + options := &GetTokenRequest{ | ||
196 | + Type: input.t, | ||
197 | + ShowValue: true, | ||
198 | + } | ||
199 | + switch input.t { | ||
200 | + case 1: | ||
201 | + options.TsTxId = string(*rsp) | ||
202 | + case 2: | ||
203 | + options.IssueId = input.option.InnerPrimaryIssueId | ||
204 | + case 3: | ||
205 | + options.TsTxId = string(*rsp) | ||
206 | + options.Value = input.option.Value | ||
207 | + } | ||
208 | + token, err := bc.GetToken(options) | ||
209 | + if err != nil { | ||
210 | + t.Fatal(err) | ||
211 | + } | ||
212 | + fmt.Println(fmt.Sprintf("Token:%v \n", token.Token)) | ||
213 | + } | ||
156 | } | 214 | } |
@@ -23,18 +23,16 @@ func RsaSign(publicKey []byte, origData []byte) ([]byte, error) { | @@ -23,18 +23,16 @@ func RsaSign(publicKey []byte, origData []byte) ([]byte, error) { | ||
23 | return nil, err | 23 | return nil, err |
24 | } | 24 | } |
25 | 25 | ||
26 | - fmt.Println(string(origData)) | ||
27 | // md5 | 26 | // md5 |
28 | hash := md5.New() | 27 | hash := md5.New() |
29 | hash.Write([]byte(origData)) | 28 | hash.Write([]byte(origData)) |
30 | pub := pubInterface.(*rsa.PrivateKey) | 29 | pub := pubInterface.(*rsa.PrivateKey) |
31 | - fmt.Println(hash.Sum(nil)) | ||
32 | return rsa.SignPKCS1v15(rand.Reader, pub, crypto.MD5, hash.Sum(nil)) | 30 | return rsa.SignPKCS1v15(rand.Reader, pub, crypto.MD5, hash.Sum(nil)) |
33 | //pub := pubInterface.(*rsa.PublicKey) | 31 | //pub := pubInterface.(*rsa.PublicKey) |
34 | //return rsa.EncryptPKCS1v15(rand.Reader, pub, origData) | 32 | //return rsa.EncryptPKCS1v15(rand.Reader, pub, origData) |
35 | } | 33 | } |
36 | 34 | ||
37 | -func RsaEncryptBak(publicKey []byte, origData []byte) ([]byte, error) { | 35 | +func RsaEncrypt(publicKey []byte, origData []byte) ([]byte, error) { |
38 | block, _ := pem.Decode(publicKey) | 36 | block, _ := pem.Decode(publicKey) |
39 | if block == nil { | 37 | if block == nil { |
40 | return nil, errors.New("public key error") | 38 | return nil, errors.New("public key error") |
@@ -51,8 +49,6 @@ func RsaEncryptBak(publicKey []byte, origData []byte) ([]byte, error) { | @@ -51,8 +49,6 @@ func RsaEncryptBak(publicKey []byte, origData []byte) ([]byte, error) { | ||
51 | pub := pubInterface.(*rsa.PublicKey) | 49 | pub := pubInterface.(*rsa.PublicKey) |
52 | fmt.Println(hash.Sum(nil)) | 50 | fmt.Println(hash.Sum(nil)) |
53 | return rsa.EncryptPKCS1v15(rand.Reader, pub, hash.Sum(nil)) | 51 | return rsa.EncryptPKCS1v15(rand.Reader, pub, hash.Sum(nil)) |
54 | - //pub := pubInterface.(*rsa.PublicKey) | ||
55 | - //return rsa.EncryptPKCS1v15(rand.Reader, pub, origData) | ||
56 | } | 52 | } |
57 | 53 | ||
58 | // 解密 | 54 | // 解密 |
-
请 注册 或 登录 后发表评论