2

任何机构都可以帮助我从 rsa 公钥创建 jwk,例如从 java 中的 (RSA) PublicKey 手动创建 JWK。想要避免 Org.BouncyCastle 或第三方实施

4

1 回答 1

1

已按以下方式从公钥创建 JWK。如果有人有更好的建议,请告诉我

using (var textReader = new StringReader(o.publickey))
                            {
                                var pubkeyReader = new PemReader(textReader);
                                RsaKeyParameters KeyParameters = (RsaKeyParameters)pubkeyReader.ReadObject();
                                var obj = new JwksKey
                                {
                                    use = "sig",
                                    kid = o.short_code,
                                    e = Base64UrlEncoder.Encode(KeyParameters.Exponent.ToByteArrayUnsigned()),
                                    n = Base64UrlEncoder.Encode(KeyParameters.Modulus.ToByteArrayUnsigned()),
                                    kty = "RSA",
                                    alg = "RS256"
                                };
                                objJwks.keys.Add(obj);
                            }

如果可能的话,我想从公钥中获得更多的东西,而不是硬编码它。两件事是kty和alg。如果可能的话,请告诉我。在这一代,我有可用的私钥。如果我能从他们那里得到 kty 和 alg,请告诉我,然后我会使用它。谢谢

于 2020-05-01T10:09:32.283 回答