Skip to content

Exception: RsaUsingSha alg expects key to be of RSA type #216

@Lionberg

Description

@Lionberg

JWT.Encode method throws exception complaining on invalid key, but the key is RSA type and valid.

`

const string key = @"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDRsqElHKG158ZujNSLzDR9Btv/o2EWNO74b24jUpd3U2Am461rakorD0jm0rFEi5yqHDkPhSS+WW6pSY32w5eTuNTEGhGcoZFrnzHAEO6W4tBRqtS2UTA84zvA92DTHyDK+HKVmQW9JmA4uaPe1CEwVS4ZCGreviUXu66fl1iSUUcgrPV6K2E1TrpbIsWP1uHeZDOhtLHkT6ubrcgC1VW3QMaiC4uAjYxeWsGhhKdr4Wr2q3ywU1OmBlbQOJva29qrAVhykqv0CxBDuezIZbaeJKvQjyd4BAXnYDQwFcXfjSXCNPHFjSi9g7E5okx/E/eeS4bBQ35rzShoOwhb0a0VK5gZm7MODtXiYZX+ws7F1ioBCOzHVJhimkXWBvSNbvqQRApBL57zD19DUw7btfjqYx4lXJj/lYG+ON72O4tzCa5nvObmIgnYcWxypQYBFo6UZfYcAfSL4t4HGN5eyON7qPs4Woy3lzhJkKLVvHu/+W7PvEgAvQucPzh0pU4O+q8= hms\dmitryl@PRCD1DMITRY
";
string ssToken;
            MssGetJWTTokenRS512("{\r\n  \"extra\": \"param\",  \"alg\": \"RS512\",\r\n  \"typ\": \"JWT\"\r\n}",
                "{\r\n  \"sub\": \"1234567890\",\r\n  \"name\": \"Dmitry Lubenskiy\",\r\n  \"iat\": 1516239022\r\n}",
                key, out ssToken);
public void MssGetJWTTokenRS512(string ssHeaderJson, string ssPayloadJson, string ssKey, out string ssToken) {
	
	 Dictionary<string, object> hvalues = JsonConvert.DeserializeObject<Dictionary<string, object>>(ssHeaderJson);
            var header = hvalues;

            Dictionary<string, object> pvalues = JsonConvert.DeserializeObject<Dictionary<string, object>>(ssPayloadJson);
            var payload = pvalues;

            var key = Encoding.UTF8.GetBytes(ssKey);

            ssToken = JWT.Encode(payload, key, JwsAlgorithm.RS512, header);
        } 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions