Commit ec9b252 1 parent 665a9e2 commit ec9b252 Copy full SHA for ec9b252
File tree 8 files changed +95
-7
lines changed
authik/src/test/kotlin/ru/ifmo/se/dating/authik
foundation/src/main/resources
foundation-test/src/main/kotlin/ru/ifmo/se/dating
matchmaker/src/test/kotlin/ru/ifmo/se/dating/matchmaker
people/src/test/kotlin/ru/ifmo/se/dating/people
8 files changed +95
-7
lines changed Original file line number Diff line number Diff line change 18
18
* .zip
19
19
* .tar.gz
20
20
* .rar
21
- * .pem
22
21
23
- # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
22
+ # Virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
24
23
hs_err_pid *
25
24
replay_pid *
26
25
27
26
# Gradle
28
27
build /
29
28
.gradle /
30
29
.kotlin
30
+
31
+ # Secrets
32
+ * .pem
33
+ * .p12
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import org.springframework.test.context.ContextConfiguration
7
7
import org.springframework.test.context.junit4.SpringRunner
8
8
import ru.ifmo.se.dating.Application
9
9
import ru.ifmo.se.dating.PostgresInitializer
10
+ import ru.ifmo.se.dating.SecurityInitializer
10
11
11
12
@RunWith(SpringRunner ::class )
12
13
@ActiveProfiles(profiles = [" test" ])
@@ -18,6 +19,7 @@ import ru.ifmo.se.dating.PostgresInitializer
18
19
@ContextConfiguration(
19
20
initializers = [
20
21
PostgresInitializer ::class ,
22
+ SecurityInitializer ::class ,
21
23
],
22
24
)
23
25
abstract class AuthikTestSuite
Original file line number Diff line number Diff line change
1
+ set -e
2
+
3
+ cd " $( dirname " $0 " ) " || exit
4
+
5
+ MODE=" $1 "
6
+ ENV=" $2 "
7
+
8
+ ALIAS=" itmo-dating"
9
+ KEYSTORE=" keystore.p12"
10
+ INSTALL_PATH=" foundation/src/main/resources/keystore"
11
+ PASSWORD=" $ITMO_DATING_KEY_STORE_PASSWORD "
12
+
13
+ function copy() {
14
+ cp " $1 " " ../../$INSTALL_PATH /$1 "
15
+ }
16
+
17
+ function remove() {
18
+ rm -f " $1 " " ../../$INSTALL_PATH /$1 "
19
+ }
20
+
21
+ function generate() {
22
+ keytool \
23
+ -genkeypair \
24
+ -alias " $ALIAS " \
25
+ -keyalg RSA \
26
+ -keysize 4096 \
27
+ -validity 1 \
28
+ -dname " CN=localhost" \
29
+ -keypass " $PASSWORD " \
30
+ -keystore " $KEYSTORE " \
31
+ -storeType PKCS12 \
32
+ -storepass " $PASSWORD "
33
+
34
+ openssl pkcs12 -in " $KEYSTORE " -nocerts -out " $ALIAS -private.pem"
35
+ openssl pkcs12 -in " $KEYSTORE " -nokeys -out " $ALIAS -public.pem"
36
+
37
+ copy " $KEYSTORE "
38
+ copy " $ALIAS -private.pem"
39
+ copy " $ALIAS -public.pem"
40
+ }
41
+
42
+ function clear() {
43
+ remove " $KEYSTORE "
44
+ remove " $ALIAS -private.pem"
45
+ remove " $ALIAS -public.pem"
46
+ }
47
+
48
+ if [ " $ENV " = " test" ]; then
49
+ PASSWORD=" testing-keystore-password"
50
+ fi
51
+
52
+ if [ " $MODE " = " generate" ]; then
53
+ generate
54
+ elif [ " $MODE " = " clear" ]; then
55
+ clear
56
+ else
57
+ echo " Error: Invalid argument '$MODE '."
58
+ echo " Usage: $0 <generate|clear>"
59
+ exit 1
60
+ fi
Original file line number Diff line number Diff line change 1
1
ITMO_DATING_TOKEN_SIGN_KEY_PUBLIC = " RSA:MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEArnKw3YcR3WJeLW64J6gc+8dT/ptl4Oi1kdfgib1EQBJmiNVmzgx6hnmf60MhTCbPHeKhbBKzozyFlboO32Aqx5Nfb0UAU2ssl99tuNi8R2VsYby6wkog58GgFidffKohdhWjOZaa3rBNI1D8CQXckk5WW4eFbonB6Vo84OLsebW5CX9ob8bCsJBX2iZYwS+WNCluUMFgxRyaLuyhtyKp0YRa7oje7iu3EXiLnaXTAFhGSP+iK6GxMUPORvGZYfJ7z+tpj6OYQId5cwYD/+5EXFM4wCkq82VDbj99mJqClpHs+1DhPP7sO/aSDM9SONXjAsMTtq27jJgdvEADpd6pHtwv/tHv1PsRS6DiQYFQSx5egc48JEiVDsBkMy3TzOmvf2dAU1KLWImNSwCybnwQiBhoRr2xPuUB6gNwyrUM8gSiX5HfK9pPX2LueberFzBYnzi8yR1phkLlqfvMZn9q6uRp9ysrtsw2tGf+Wn8BlbAoq3W8hD8ufr5pR03zHGvnAgMBAAE="
2
+ ITMO_DATING_KEY_STORE_PASSWORD = " testing-keystore-password"
2
3
3
4
ITMO_DATING_AUTHIK_POSTGRES_DB = " postgres"
4
5
ITMO_DATING_AUTHIK_POSTGRES_USER = " postgres"
Original file line number Diff line number Diff line change
1
+ package ru.ifmo.se.dating
2
+
3
+ import org.springframework.boot.test.util.TestPropertyValues
4
+ import org.springframework.context.ApplicationContextInitializer
5
+ import org.springframework.context.ConfigurableApplicationContext
6
+
7
+ class SecurityInitializer :
8
+ ApplicationContextInitializer <ConfigurableApplicationContext > {
9
+
10
+ private val keyStorePassword: String = " testing-keystore-password"
11
+
12
+ override fun initialize (ctx : ConfigurableApplicationContext ) {
13
+ TestPropertyValues .of(
14
+ " server.ssl.key-store-password=$keyStorePassword " ,
15
+ ).applyTo(ctx.environment)
16
+ }
17
+ }
Original file line number Diff line number Diff line change 1
1
server :
2
- port : 8080
3
2
ssl :
4
- certificate : " classpath:cert.pem"
5
- certificate-private-key : " classpath:privkey.pem"
6
- trust-certificate : " classpath:chain.pem"
3
+ enabled : true
4
+ key-store-type : PKCS12
5
+ key-store : classpath:keystore/keystore.p12
6
+ protocol : TLS
7
+ enabled-protocols : TLSv1.3
7
8
spring :
8
9
datasource :
9
10
driver-class-name : org.postgresql.Driver
10
11
liquibase :
11
- change-log : classpath: database/changelog.sql
12
+ change-log : database/changelog.sql
12
13
springdoc :
13
14
api-docs :
14
15
path : /openapi
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import org.springframework.test.context.ContextConfiguration
7
7
import org.springframework.test.context.junit4.SpringRunner
8
8
import ru.ifmo.se.dating.Application
9
9
import ru.ifmo.se.dating.PostgresInitializer
10
+ import ru.ifmo.se.dating.SecurityInitializer
10
11
11
12
@RunWith(SpringRunner ::class )
12
13
@ActiveProfiles(profiles = [" test" ])
@@ -18,6 +19,7 @@ import ru.ifmo.se.dating.PostgresInitializer
18
19
@ContextConfiguration(
19
20
initializers = [
20
21
PostgresInitializer ::class ,
22
+ SecurityInitializer ::class ,
21
23
],
22
24
)
23
25
abstract class MatchmakerTestSuite
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import org.springframework.test.context.ContextConfiguration
7
7
import org.springframework.test.context.junit4.SpringRunner
8
8
import ru.ifmo.se.dating.Application
9
9
import ru.ifmo.se.dating.PostgresInitializer
10
+ import ru.ifmo.se.dating.SecurityInitializer
10
11
11
12
@RunWith(SpringRunner ::class )
12
13
@ActiveProfiles(profiles = [" test" ])
@@ -18,6 +19,7 @@ import ru.ifmo.se.dating.PostgresInitializer
18
19
@ContextConfiguration(
19
20
initializers = [
20
21
PostgresInitializer ::class ,
22
+ SecurityInitializer ::class ,
21
23
],
22
24
)
23
25
abstract class PeopleTestSuite
You can’t perform that action at this time.
0 commit comments