Insufficient key sizes used for an HMAC are not robust against brute force attacks. Even strong encryption algorithms are vulnerable to brute force attacks when small key sizes are used.
1// Noncompliant: `DefaultHttpClient` is used for setting up HTTP connection.
2fun noncompliant() {
3 val client: HttpClient = DefaultHttpClient()
4 val request: HttpGet = HttpGet("http://google.com")
5 val response: HttpResponse= client.execute(request)
6}
1// Compliant: `DefaultHttpClient` is not used for setting up HTTP connection.
2fun compliant() {
3 val client: HttpClient = SystemDefaultHttpClient()
4 val request: HttpGet = HttpGet("http://google.com")
5 val response: HttpResponse= client.execute(request)
6}
1// Noncompliant: The key 256 is not secure key length.
2fun noncompliant() {
3 val keyGen: KeyPairGenerator = KeyPairGenerator.getInstance("RSA")
4 keyGen.initialize(256)
5}
1// Compliant: The key 2048 is secure key length.
2fun compliant() {
3 val keyGen = KeyPairGenerator.getInstance("RSA")
4 keyGen.initialize(2048);
5}