小编dem*_*t47的帖子

“指定的密钥字节数组是 192 位,对于任何 JWT HMAC-SHA 算法来说都不够安全......”mockmvc post 请求的错误

我想调用 write 下面的代码来编写 Kotlin 中登录的集成测试:

@Test
fun userSignup() {
    var result  = this.mockMvc.perform(post("http://localhost/signup")
        .content("{\"email\" : \"email\", " +
                "\"username\" : \"username\", " +
                "\"password\" : \"password\", " +
                "\"userType\" : \"artist\"}")
        .contentType(MediaType.APPLICATION_JSON)
        .header("Authorization", Base64() )
    )
        .andExpect(status().isOk())
        .andDo(MockMvcResultHandlers.print())
}
Run Code Online (Sandbox Code Playgroud)

但我收到 HTTP 状态 400,并显示错误消息:

“指定的密钥字节数组为 192 位,对于任何 JWT HMAC-SHA 算法来说都不够安全。JWT JWA 规范(RFC 7518,第 3.2 节)规定,与 HMAC-SHA 算法一起使用的密钥的大小必须 >= 256 位(密钥大小必须大于或等于哈希输出大小。)考虑使用 io.jsonwebtoken.security.Keys#secretKeyFor(SignatureAlgorithm) 方法来创建保证对您首选的 HMAC-SHA 算法足够安全的密钥。有关更多信息,请参阅https://tools.ietf.org/html/rfc7518#section-3.2 。”

我该如何解决这个错误?

我期待 Http 200 状态。此错误消息的级别太低,我在使用抽象库进行测试时不会看到它。

key rfc http-error hmac mockmvc

1
推荐指数
1
解决办法
6699
查看次数

标签 统计

hmac ×1

http-error ×1

key ×1

mockmvc ×1

rfc ×1