How can I convert PKCS8 to JWK format given the openssl commands below?
openssl genrsa -des3 -passout pass:foobar -out private_key_des3_with_password.pem 2048
openssl pkcs8 -topk8 -inform PEM -in private_key_des3_with_password.pem -outform PEM -out private_key_des3_with_password_pkcs8.pem -passin pass:foobar -passout pass:foobar
openssl rsa -in private_key_des3_with_password.pem -passin pass:foobar -outform PEM -pubout -out public_key_for_pk_des3_with_password.pem
Looking for some assistance in converting a PKCS8 key to JWK format so that I can upload the keys to Salesforce via "CertificatesAndKeysManagement".
Salesforce requires JWK for uploading keys, and will be used to encrypt JWT. I have also found an article to convert PKCS12 to JWT, but do not know how to bridge the gap from PKCS8 -> PKCS12 or PKCS8 -> JWK. Looking for either solutions.
The Salesforce code looks like the following:
Map<String, String> claims = new Map<String, String>{
'claim'=> 'myClaims'
};
Auth.JWT jw = new Auth.JWT();
jw.setAdditionalClaims(claims);
jw.setValidityLength(60);
Auth.JWS sig = new Auth.JWS(jw, 'mykey');
return sig.getCompactSerialization();
The library which will be validating the claim requires PKCS8 format, but Salesforce requires JWK format to encrypt