如何将* x 509.Certificate更改为字节数组

Hello i've got somthing like this to read from .p12 keystore

func read_keys()(interface{},*x509.Certificate) {
    b, err:= ioutil.ReadFile("mystore.p12")
    if err!=nil {
        fmt.Println(err)
        return nil,nil
    }
    password := "pass"
    privk, pKey , err := pkcs12.Decode(b,password)
    if err!=nil {
        fmt.Println(err)
    }
    return privk,pKey
}

now i need to change pKey to byte array for AES.cipher and i don't know how i've looking in pkcs12 and pem docs and tried some decode functions but it doesnt work. Is there any way to read this way AES secret key ? because this code will throw error that "there only RSA and ECDSA public keys supported" and i need AES secret key to be readed from keystore too.

Thanks in advance

Please find below the code snippet

derPubKey, err := x509.MarshalPKIXPublicKey(&pKey.PublicKey)

if err != nil {
    //handle error here
}

pubBytes := pem.EncodeToMemory(&pem.Block{
    Type:  "RSA PUBLIC KEY",
    Bytes: derPubKey,
})

ioutil.WriteFile("key.pub", pubBytes, 0644)