Дано:
- ключ подписи, сгенерированный RSACryptoServiceProvider.
- требование о создании подписанного JWT с ребенком.
Если бы ключ подписи был из сертификата x509, я бы установил ребенку x5t. В этом случае это не так. Я мог бы придумать что-то произвольное для ребенка, но было бы лучше, если бы столкновения были маловероятными и чтобы между ребенком и сертификатом была значимая связь.
То, что я намерен это: -
- Создать байтовый массив, который создается путем добавления байтов модуля к байту экспоненты.
- SHA256 кодирует массив.
- Base64 SHA256.
- установить kid в строку base64.
В значительной степени это:
var kid = Base64(SHA256(concat(exp,mod)))
Это кажется правильным подходом? Есть ли более простой способ получить отпечаток от RSASecurityKey
?