如何解码PEM编码的PKIX公钥?

时间:2017-12-14 19:05:20

标签: go pem

Go x509.ParsePKIXPublicKey Blockpem.Decode()给出的示例遇到运行时错误,因为nil返回的pem.Decode()pem.Decode()。  (official documentation

然而,const pubPEM = ` -----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----` block, _ := pem.Decode([]byte(pubPEM)) var pubPEMData = []byte(` -----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----`) block, rest := pem.Decode(pubPEMData) 中的示例运行得很好。 (Playground example

我在两个示例中发现的唯一区别是公钥的初始化方式以及它在spaceID|rent ---------------- 1 | 1000 2 | 1200 中的使用方式。

第一个例子:

id|spaceID|name
--------------------
1 |1      |Joe Smith
2 |1      |Jane Smith
3 |2      |Frank Zakk
4 |2      |Nancy Zakk
5 |2      |Sam Zakk

第二个例子:

spaceID |rent  |resident1 |resident2 |resident3| resident4
1       |1000  |Joe Smith |Jane Smith|         |
2       |1200  |Frank Zakk|Nancy Zakk|Sam Zakk |

我已编辑了第一个示例,以便以与第二个示例相同的方式完成,但这并未改变结果。 (official documentation

导致第一次失败但导致第二次失败的原因是什么?

1 个答案:

答案 0 :(得分:2)

你的字符串中有空格,删除它们就可以了:fixed example