@@ -6,64 +6,38 @@ package com.gxf.utilities.oslp.message.signing
6
6
import com.gxf.utilities.oslp.message.signing.configuration.SigningProperties
7
7
import java.security.KeyPair
8
8
import java.security.KeyPairGenerator
9
- import java.security.PrivateKey
10
- import java.security.PublicKey
11
9
import org.assertj.core.api.Assertions.assertThat
12
10
import org.junit.jupiter.api.Test
13
11
14
12
class SigningUtilTest {
15
13
14
+ val signingProperties: SigningProperties =
15
+ SigningProperties (securityProvider = " SunEC" , securityAlgorithm = " SHA256withECDSA" )
16
16
val keyPairGenerator: KeyPairGenerator = KeyPairGenerator .getInstance(" EC" ).apply { initialize(256 ) }
17
17
val keyPair1: KeyPair = keyPairGenerator.generateKeyPair()
18
18
val keyPair2: KeyPair = keyPairGenerator.generateKeyPair()
19
19
20
- class TestKeyProvider (private val privateKey : PrivateKey , private val publicKey : PublicKey ) : KeyProvider {
21
- override fun getPrivateKey () = privateKey
22
-
23
- override fun getPublicKey () = publicKey
24
- }
25
-
26
- val keyProvider1: TestKeyProvider = TestKeyProvider (privateKey = keyPair1.private, publicKey = keyPair1.public)
27
-
28
- val keyProvider2: TestKeyProvider = TestKeyProvider (privateKey = keyPair2.private, publicKey = keyPair2.public)
29
-
30
- private val signingUtil1: SigningUtil =
31
- SigningUtil (
32
- signingConfiguration = SigningProperties (securityProvider = " SunEC" , securityAlgorithm = " SHA256withECDSA" ),
33
- keyProvider = keyProvider1,
34
- )
35
-
36
- private val signingUtil2: SigningUtil =
37
- SigningUtil (
38
- signingConfiguration = SigningProperties (securityProvider = " SunEC" , securityAlgorithm = " SHA256withECDSA" ),
39
- keyProvider = keyProvider2,
40
- )
41
-
42
- private val signingUtil3: SigningUtil =
43
- SigningUtil (
44
- signingConfiguration = SigningProperties (securityProvider = " SunEC" , securityAlgorithm = " SHA256withECDSA" ),
45
- keyProvider = keyProvider1,
46
- )
20
+ private val signingUtil: SigningUtil = SigningUtil (signingProperties)
47
21
48
22
@Test
49
23
fun `should sign and verify message from different SigningUtils with same keys` () {
50
24
val message = " test-message" .toByteArray()
51
- val signature = signingUtil1 .createSignature(message)
52
- assertThat(signingUtil3 .verifySignature(message, signature)).isTrue()
25
+ val signature = signingUtil .createSignature(message, keyPair1.private )
26
+ assertThat(signingUtil .verifySignature(message, signature, keyPair1.public )).isTrue()
53
27
}
54
28
55
29
@Test
56
30
fun `should not verify tampered message` () {
57
31
var message = " test-message" .toByteArray()
58
- val signature = signingUtil1 .createSignature(message)
32
+ val signature = signingUtil .createSignature(message, keyPair1.private )
59
33
message = " tampered-message" .toByteArray()
60
- assertThat(signingUtil1 .verifySignature(message, signature)).isFalse()
34
+ assertThat(signingUtil .verifySignature(message, signature, keyPair1.public )).isFalse()
61
35
}
62
36
63
37
@Test
64
38
fun `should not verify tampered keys` () {
65
39
val message = " test-message" .toByteArray()
66
- val signature = signingUtil1 .createSignature(message)
67
- assertThat(signingUtil2 .verifySignature(message, signature)).isFalse()
40
+ val signature = signingUtil .createSignature(message, keyPair1.private )
41
+ assertThat(signingUtil .verifySignature(message, signature, keyPair2.public )).isFalse()
68
42
}
69
43
}
0 commit comments