Search code examples
swiftxcodejwtvapor

Signing algorithm error while creating a jwt signer


I'm using Vapor jwt package and I'm getting such kind of error while creating a private jwt signer:

Swift/ErrorType.swift:200: Fatal error: Error raised at top level: JWTKit error: signing algorithm error: bioConversionFailure

Error happens at line 2 in this code:

let privateKey = try String(contentsOfFile: app.directory.workingDirectory + "jwt.key")
let privateSigner = try JWTSigner.rs256(key: .private(pem: privateKey.bytes))
    
let publicKey = try String(contentsOfFile: app.directory.workingDirectory + "jwt.key.pub")
let publicSigner = try JWTSigner.rs256(key: .public(pem: publicKey.bytes))

This is how jwt.key looks like (I will hide some symbols):

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,49892B69BD216[...]84A1DD2A9248FD

fxGXzOPc+7LDp6Jm/PkMp1E/sq7ncOeT5JdmSxbE5yIYIRngqcxfBC8IkIgkd/hv
ACpH55VQE2lgZuXDHcOJU1ivhcW3uo3mn5hhCswDdJ6zFerHonUzNpeQAvs2woqT
                           [....]
Z/hTsA1MTRGubzMb3SHFoVLiVj2FJ5SP7qrSDtB7xgB0/rKUykpbnR4OQiHH7z+8
sfJZKulMT7DIYIEe/glZCYBOZC2VaaEFr921Smx5Le12hfP1HYFLrX4oTCMLxGP9
-----END RSA PRIVATE KEY-----


Solution

  • Regenerating Private RSA Key without password - helped for me