Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with Public key conversion #16

Open
osancus opened this issue Mar 30, 2020 · 3 comments
Open

Issue with Public key conversion #16

osancus opened this issue Mar 30, 2020 · 3 comments

Comments

@osancus
Copy link

osancus commented Mar 30, 2020

When public key is converted from pem to jwk and back from jwk to pem the key changes.

@egitto
Copy link

egitto commented Mar 4, 2022

Example:

-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0E2XtEIOwzyzHO4mvNce
SXeL6Xelh7QVfqlVXwNHFVov+A1S3HPj/JrPW13RKbCJmom8X511Mugch0iRO6FT
iI7HYYvWj1LNu30ZQ/ToE4ADRSHlSZuBCe5eiHvwWUkfHwXFfHKXIUpRsGMRyxWh
ITYzRE1eBPWrKSRKzJvBqrUkN1obD7AgndkVnvwv4rl7jvwKxqOENlm/dbiiil6P
nEb9G/rQYPi/uo6ZFBS/lkztzhtfmGyTXtk8a2YD5we50gfy2EJF8eyaKwyKjhvB
C9bz37u6/lhm2GaJgz5t8JOpgWoXwPCOrkXG7ydRP9Z1cHM01Sjy8bNfuL8bqHHj
ZzM3aGSlH+LsZhDH1aQnSyHncTo3hpJa+BlZZO4IgXXEAzxFipSGfG36LTJcupSN
JZLtyzrtbKLRNUz9wwL2x7dhKUkWsLMdcO5kEko8gJ7pvJ/UGhCD9KhTVkGiY4sJ
MeB7t+0lfb3wp2amo1p4suUeKW4d/t3Q4rFFC7DTayC747eIjrWd08Qy8najkMN7
MzSOI3xjnMDI1UC1zWBqSDe6/GYhNRhLQ+1CAXukjiRy9kgZb5bULwO5zKcLsj2A
k58lz0Up1N/J/gDbkpiAygQK7rGRdy08XTyG/06/yuKfGs6TiKvyaJIabBVIB8Ra
QU/NPGdChsbH4v84rlym1QcCAwEAAQ==
-----END PUBLIC KEY-----

If you convert this to and from jwk using npx pem-jwk pub.pem | npx pem-jwk you get the following, which is obviously different:

-----BEGIN RSA PUBLIC KEY-----
MIICCgKCAgEA0E2XtEIOwzyzHO4mvNceSXeL6Xelh7QVfqlVXwNHFVov+A1S3HPj
/JrPW13RKbCJmom8X511Mugch0iRO6FTiI7HYYvWj1LNu30ZQ/ToE4ADRSHlSZuB
Ce5eiHvwWUkfHwXFfHKXIUpRsGMRyxWhITYzRE1eBPWrKSRKzJvBqrUkN1obD7Ag
ndkVnvwv4rl7jvwKxqOENlm/dbiiil6PnEb9G/rQYPi/uo6ZFBS/lkztzhtfmGyT
Xtk8a2YD5we50gfy2EJF8eyaKwyKjhvBC9bz37u6/lhm2GaJgz5t8JOpgWoXwPCO
rkXG7ydRP9Z1cHM01Sjy8bNfuL8bqHHjZzM3aGSlH+LsZhDH1aQnSyHncTo3hpJa
+BlZZO4IgXXEAzxFipSGfG36LTJcupSNJZLtyzrtbKLRNUz9wwL2x7dhKUkWsLMd
cO5kEko8gJ7pvJ/UGhCD9KhTVkGiY4sJMeB7t+0lfb3wp2amo1p4suUeKW4d/t3Q
4rFFC7DTayC747eIjrWd08Qy8najkMN7MzSOI3xjnMDI1UC1zWBqSDe6/GYhNRhL
Q+1CAXukjiRy9kgZb5bULwO5zKcLsj2Ak58lz0Up1N/J/gDbkpiAygQK7rGRdy08
XTyG/06/yuKfGs6TiKvyaJIabBVIB8RaQU/NPGdChsbH4v84rlym1QcCAwEAAQ==
-----END RSA PUBLIC KEY-----

@anishnath
Copy link

Used https://8gwifi.org/jwkconvertfunctions.jsp for converting and it seems it solved the problem.

@bbangert
Copy link

bbangert commented May 4, 2024

This happens because this library always exports JWK keys into RSA key format. The first example you have there is a key in SPKI format, while this library always exports JWK's as RSA key format. It's the same key, different PEM format. Importing it will result in the same JWK as the first version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants