A go (or 'golang' for search engine friendliness) implementation of JSON Web Encryption. This is a companion package to https://github.com/golang-jwt/jwt. A common use-case is to encrypt the contents of a JWT using JWE.
The public API of this package is highly unstable and we are nowhere near any stable v1.0 version, so expect a number of breaking changes as we develop it.
Currently, this package is considered mostly a pet project, so please be aware that the golang-jwt maintainers can only spent a limited time on this. Therefore, any response to a pull request review might take some time. On the other hand, we might be a little more lax with regards to API breaking pull requests, as long as we are still in the v0.x version range.
In order to build a new JWE, which encrypts a certain payload the function NewJWE should be used.
import "github.com/golang-jwt/jwe" func main() { originalText := []byte("The true sign of intelligence is not knowledge but imagination.") token, err := jwe.NewJWE(jwe.KeyAlgorithmRSAOAEP, pk, jwe.EncryptionTypeA256GCM, originalText) if err != nil { panic(err) return } compact, err := token.CompactSerialize() if err != nil { panic(err) return } }