You are trying to read a certificate with a function intended for reading a public key.
Use x509.ParseCertificates instead. Janne Snabb sn...@epipe.com On 2017-03-06 16:39, 0x7bc77a wrote: > Hi, > > I would like to load the public key from a DER encoded certificate > > Here is my code > > func ExampleParsePKIXPublicKey() { > raw, err := ioutil.ReadFile("/Path/To/DER/Encoded/Certificate") > > if err != nil { > panic("failed to read certificate" + err.Error()) > } > > pub, err := x509.ParsePKIXPublicKey(raw) > > if err != nil { > panic("failed to parse DER encoded public key: " + err.Error()) > } > > switch pub := pub.(type) { > case *rsa.PublicKey: > fmt.Println("Pub is of type RSA:", pub) > case *dsa.PublicKey: > fmt.Println("Pub is of type DSA:", pub) > case *ecdsa.PublicKey: > fmt.Println("Pub is of type ECDSA:", pub) > default: > panic("unknown type fo public key") > } > } > > then I get errors like below: > > panic: failed to parse DER encoded public key: asn1: structure error: > tags don't match (6 vs {class:2 tag:0 length:3 isCompound:true}) > {optional:false explicit:false application:f > alse defaultValue:<nil> tag:<nil> stringType:0 timeType:0 set:false > omitEmpty:false} ObjectIdentifier @2 > > any ideas to solve this problem? > > thanks in advance! > > -- > You received this message because you are subscribed to the Google > Groups "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to golang-nuts+unsubscr...@googlegroups.com > <mailto:golang-nuts+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.