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-----
Regenerating Private RSA Key without password - helped for me