traefik / yaegi

Yaegi is Another Elegant Go Interpreter
https://pkg.go.dev/github.com/traefik/yaegi
Apache License 2.0
6.94k stars 343 forks source link

Unexpected behavior checking Public PEM key with `github.com/golang-jwt/jwt` package #1514

Closed felixgomez closed 1 year ago

felixgomez commented 1 year ago

The following program sample.go triggers an unexpected result

package main

import (
    "github.com/golang-jwt/jwt/v4"
    "log"
)

func main() {
    publicKeyPem := `
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC03uKR6amRLogLQMS7OqT+x08g
Am8X5ScmfuYD+JktiqN9TQLRB8qQaclnaj+OjNEBnmt6Ttf1xBIwSPn+lmjjxhoZ
8gS5rbks30bqasHBFSJYaMlkWunIvhef89uswbjyyYB1Qyazf+jpmfZh9KWOJp8S
pGIMWgMqdk7MMA03IwIDAQAB
-----END PUBLIC KEY-----`

    _, err := jwt.ParseRSAPublicKeyFromPEM([]byte(publicKeyPem))

    if err != nil {
        log.Printf("%v", err)
    }
}

Expected result

Empty output (public key is correct)

Got

2023/02/15 15:04:52 key is not a valid RSA public key

Yaegi Version

v0.15.0

Additional Notes

it seems that the error comes from https://github.com/golang-jwt/jwt/blob/9358574a7a1a2c8d644f22b6e8de627ba85c58d0/rsa_utils.go#L100