Открытый ключ RSA WSO2carbon
Я генерирую токен JWT из WSOAM, который затем передается в качестве заголовка API. Я создал свой API в nodejs и использую плагин jsonwebtoken для проверки и декодирования JWT.
Я не могу найти открытый ключ RSA Wso2carbon для проверки / декодирования токена.
Помогите, пожалуйста, как сгенерировать открытый ключ RSA или где мне найти этот ключ?
2 ответа
Все продукты WSO2 используют пары открытого и закрытого ключей по умолчанию, установленные в файле хранилища ключей wso2carbon.jks, найденном в <WSO2_AM>/repository/resources/security
каталог. Рекомендуется использовать собственное хранилище ключей вместо этого хранилища ключей по умолчанию, поставляемого со всеми продуктами WSO2.
Рекомендуется заменить это хранилище ключей по умолчанию новым хранилищем ключей, которое имеет самозаверяющие или подписанные сертификаты CA, когда продукты развертываются в производственных средах. Это связано с тем, что файл wso2carbon.jks доступен с продуктами WSO2 с открытым исходным кодом, что означает, что любой может иметь доступ к закрытому ключу хранилища ключей по умолчанию.
Если вы собираетесь использовать закрытые / открытые ключи по умолчанию, используйте следующую команду для извлечения ключа.
keytool -export -keystore <WSO2_AM>/repository/resources/security/wso2carbon.jks -alias wso2carbon -file Example.cer
Мне удалось найти открытый ключ, используемый для подписи токена jwt, вызвав конечную точку GET https://<identity_server_url>/oauth2/jwks (будьте осторожны при выборе основного домена или домена клиента, т. е. https://<identity_server_url>/t/<имя_тенанта>/oauth2/jwks). Затем я преобразовал его в формат PEM, используя такой сайт: https://8gwifi.org/jwkconvertfunctions.jsp .
надеюсь это поможет.