Skip to content

hw1 #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,10 @@ out/

### VS Code ###
.vscode/

src/main/resources/application-secret.properties
src/main/resources/keystore.p12
docker-compose.yml
src/test/resources/application-secret.properties
init.sql
Dockerfile
11 changes: 11 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM openjdk:21-jdk-slim

WORKDIR /app

ENV TZ=Asia/Seoul

# JAR 복사
COPY ./build/libs/devlog-0.0.1-SNAPSHOT.jar app.jar

# 실행
ENTRYPOINT ["java", "-jar", "app.jar"]
3 changes: 3 additions & 0 deletions app.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
docker logs devlog-app

docker exec -it devlog-app bash
74 changes: 56 additions & 18 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,38 +1,76 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.4.4'
id 'io.spring.dependency-management' version '1.1.7'
id 'java'
id 'org.springframework.boot' version '3.4.4'
id 'io.spring.dependency-management' version '1.1.7'
}

group = 'apptive'
version = '0.0.1-SNAPSHOT'

java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
// Spring Boot Starters
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'
implementation 'org.springframework.boot:spring-boot-starter-mail'

// JWT (JSON Web Token)
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
implementation 'io.jsonwebtoken:jjwt-impl:0.11.5'
implementation 'io.jsonwebtoken:jjwt-jackson:0.11.5'

// Redis Lettuce
// implementation 'io.lettuce:lettuce-core:6.2.5.RELEASE'

implementation ('org.springframework.boot:spring-boot-starter-data-redis') { exclude group: 'io.lettuce', module: 'lettuce-core' }
implementation 'redis.clients:jedis'

// SpringDoc OpenAPI (for Swagger UI)
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0'

// ULID Generators
implementation 'de.huxhorn.sulky:de.huxhorn.sulky.ulid:8.2.0'
implementation 'com.github.f4b6a3:ulid-creator:5.2.0'

// Lombok (Compile-time annotations)
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

// MySQL Driver (runtime only)
runtimeOnly 'com.mysql:mysql-connector-j'

// Development tools (for hot-reloading)
developmentOnly 'org.springframework.boot:spring-boot-devtools'

// Test dependencies
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'

// Annotation processor for Spring Boot configuration
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
}

tasks.named('test') {
useJUnitPlatform()
useJUnitPlatform()
}
40 changes: 40 additions & 0 deletions certs/app_certs/ca.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
-----BEGIN CERTIFICATE-----
MIIDHTCCAgUCFFw5T+2r/PXbAFYdJUeCO9NurTMhMA0GCSqGSIb3DQEBCwUAMEsx
CzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVQdXNhbjEOMAwGA1UEBwwFUHVzYW4xDTAL
BgNVBAoMBFdVREMxDTALBgNVBAMMBFdVREMwHhcNMjUwNDE2MDE0NzIwWhcNMzUw
NDE0MDE0NzIwWjBLMQswCQYDVQQGEwJLUjEOMAwGA1UECAwFUHVzYW4xDjAMBgNV
BAcMBVB1c2FuMQ0wCwYDVQQKDARXVURDMQ0wCwYDVQQDDARXVURDMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAntyNuLTcMjWIgfrSPi+pvf3hNsHLzlV1
Ze+hXvqs4fE0p36qVbWRUkwv+Vp4drKrlXrY5Em7JCNZ0IT9PuZ3PwFbnG5FwV+O
H3B7WrRx4JHhLZU3w+WHFGfWFDZS2eYWrf1f1tDOlyq92xx0QEqDNE+gUMJ+z1N7
5yoDForShgTmxD+KzYp4e7BvKKKn/U6YosBC8GyiMWdcka0IUMoTwpQRQ3Vlx/KX
+YGJlwWA9wvNWOqgcYCxeCIa7X+8K9i92Py01T82zqLMcr52Ri2JEdMzHz4pp/aZ
d56pfUhGuN6ET18fTTGeKuB1PrPu80OgfOYvJL9u1/twuO/xi/naBQIDAQABMA0G
CSqGSIb3DQEBCwUAA4IBAQAudZAxVxMh/aUeTj6WK5mpVpUINmAwt938FVSQ3nUC
mTafNjSNfu/Me+PvjCkmf9RNk5BSdHVwxseOBaU0WZnvLM056ayyQnSwWT53WwtZ
CSb3VHBbwaJqAiAnhQxCHHhWDK4rtIPrWZ/SCek2E5l29ccZHTuVnaFF3pG8YRs1
+UXVWeCB0fIJwQdugtGkzVzgO1HW7tKyG1BqCP9q9FnfODia9d6jKAA5dScBPanG
yPNI8eq4Fpk4R6P1jM2jw9pCJ4CW4lpgGQD0KATJve+ooHJqL3Ri6xkljNymGfbP
UD8eyRxgUaKUloQY2UbafzO+cLn2uRiB4sfn/T8hybeW
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIUJQjfesPiPpsGhsWZH4oTggUWVD8wDQYJKoZIhvcNAQEL
BQAwSzELMAkGA1UEBhMCS1IxDjAMBgNVBAgMBVB1c2FuMQ4wDAYDVQQHDAVQdXNh
bjENMAsGA1UECgwEV1VEQzENMAsGA1UEAwwEV1VEQzAeFw0yNTA0MTYwMTQzMDda
Fw0zNTA0MTQwMTQzMDdaMEsxCzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVQdXNhbjEO
MAwGA1UEBwwFUHVzYW4xDTALBgNVBAoMBFdVREMxDTALBgNVBAMMBFdVREMwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDczXj3rCSwS+cv2FXTRWxcLxuE
m0DY9RqQfUZ6XM24IuBpxeicqIcGs8lYSWmx9cRFnxDG5beV5BSBOt3MoR9Q5Caf
Ld4JWHEIXicDk78vQjTE7QB1xPkieU0s4wqh9W0rPKEYsJ8SEhFgMUq5g5EiaVqQ
PRaaEeK1C0Zn0e5NdwcMgJ6E6uwij9E1U95QAw6AFyvqoS+s/1TsEcAkN3oIXdlD
kYy7lO4uLZI4Dfh77kfAf3LxKN/qE6WE20wyzipwb7yXFVzcTm5WoLSwV4axWrYF
Bc67x3X5t6K985Y1f5UMfnKq+JRAl0wFC0SOhS8NXHFVNQCbXvwldfcUSwc/AgMB
AAGjUzBRMB0GA1UdDgQWBBRa5Q7LNg15ZZYZSMQoowHLNtJtezAfBgNVHSMEGDAW
gBRa5Q7LNg15ZZYZSMQoowHLNtJtezAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3
DQEBCwUAA4IBAQDXLVSeVyhCuw4oJoRw/wPwQEeBScxmpkSQvMzl19QhFXkxZxUT
5vhkCJc3lp1Ifa405n5I1+WFVhWyF1cSTXYddxz/eLjW1p54VNPXm5nxKzwwyftE
Ps36G32D0kdkk9pRqnsQ2Dt5j8hf2RVXzyswu97mTkRXTQMDwKUtwopr6HlIZiOY
BzUOEJf4NQr3VeGkXeWfqjWMU7ch7FWf7SsyqNFinAgiDLaIdEYSRBi8xiRJpOn4
BUbhAlS2L4uGPWGa7TZ8sf8/s4Mdh784NSFn+4D6pVa7Quq5e6OmBVK4J851zAic
7mQsPhJLXactGWdksrjBSMQS7E5R8LG+k0j3
-----END CERTIFICATE-----
40 changes: 40 additions & 0 deletions certs/app_certs/client-ca.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
-----BEGIN CERTIFICATE-----
MIIDHTCCAgUCFFw5T+2r/PXbAFYdJUeCO9NurTMhMA0GCSqGSIb3DQEBCwUAMEsx
CzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVQdXNhbjEOMAwGA1UEBwwFUHVzYW4xDTAL
BgNVBAoMBFdVREMxDTALBgNVBAMMBFdVREMwHhcNMjUwNDE2MDE0NzIwWhcNMzUw
NDE0MDE0NzIwWjBLMQswCQYDVQQGEwJLUjEOMAwGA1UECAwFUHVzYW4xDjAMBgNV
BAcMBVB1c2FuMQ0wCwYDVQQKDARXVURDMQ0wCwYDVQQDDARXVURDMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAntyNuLTcMjWIgfrSPi+pvf3hNsHLzlV1
Ze+hXvqs4fE0p36qVbWRUkwv+Vp4drKrlXrY5Em7JCNZ0IT9PuZ3PwFbnG5FwV+O
H3B7WrRx4JHhLZU3w+WHFGfWFDZS2eYWrf1f1tDOlyq92xx0QEqDNE+gUMJ+z1N7
5yoDForShgTmxD+KzYp4e7BvKKKn/U6YosBC8GyiMWdcka0IUMoTwpQRQ3Vlx/KX
+YGJlwWA9wvNWOqgcYCxeCIa7X+8K9i92Py01T82zqLMcr52Ri2JEdMzHz4pp/aZ
d56pfUhGuN6ET18fTTGeKuB1PrPu80OgfOYvJL9u1/twuO/xi/naBQIDAQABMA0G
CSqGSIb3DQEBCwUAA4IBAQAudZAxVxMh/aUeTj6WK5mpVpUINmAwt938FVSQ3nUC
mTafNjSNfu/Me+PvjCkmf9RNk5BSdHVwxseOBaU0WZnvLM056ayyQnSwWT53WwtZ
CSb3VHBbwaJqAiAnhQxCHHhWDK4rtIPrWZ/SCek2E5l29ccZHTuVnaFF3pG8YRs1
+UXVWeCB0fIJwQdugtGkzVzgO1HW7tKyG1BqCP9q9FnfODia9d6jKAA5dScBPanG
yPNI8eq4Fpk4R6P1jM2jw9pCJ4CW4lpgGQD0KATJve+ooHJqL3Ri6xkljNymGfbP
UD8eyRxgUaKUloQY2UbafzO+cLn2uRiB4sfn/T8hybeW
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIUJQjfesPiPpsGhsWZH4oTggUWVD8wDQYJKoZIhvcNAQEL
BQAwSzELMAkGA1UEBhMCS1IxDjAMBgNVBAgMBVB1c2FuMQ4wDAYDVQQHDAVQdXNh
bjENMAsGA1UECgwEV1VEQzENMAsGA1UEAwwEV1VEQzAeFw0yNTA0MTYwMTQzMDda
Fw0zNTA0MTQwMTQzMDdaMEsxCzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVQdXNhbjEO
MAwGA1UEBwwFUHVzYW4xDTALBgNVBAoMBFdVREMxDTALBgNVBAMMBFdVREMwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDczXj3rCSwS+cv2FXTRWxcLxuE
m0DY9RqQfUZ6XM24IuBpxeicqIcGs8lYSWmx9cRFnxDG5beV5BSBOt3MoR9Q5Caf
Ld4JWHEIXicDk78vQjTE7QB1xPkieU0s4wqh9W0rPKEYsJ8SEhFgMUq5g5EiaVqQ
PRaaEeK1C0Zn0e5NdwcMgJ6E6uwij9E1U95QAw6AFyvqoS+s/1TsEcAkN3oIXdlD
kYy7lO4uLZI4Dfh77kfAf3LxKN/qE6WE20wyzipwb7yXFVzcTm5WoLSwV4axWrYF
Bc67x3X5t6K985Y1f5UMfnKq+JRAl0wFC0SOhS8NXHFVNQCbXvwldfcUSwc/AgMB
AAGjUzBRMB0GA1UdDgQWBBRa5Q7LNg15ZZYZSMQoowHLNtJtezAfBgNVHSMEGDAW
gBRa5Q7LNg15ZZYZSMQoowHLNtJtezAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3
DQEBCwUAA4IBAQDXLVSeVyhCuw4oJoRw/wPwQEeBScxmpkSQvMzl19QhFXkxZxUT
5vhkCJc3lp1Ifa405n5I1+WFVhWyF1cSTXYddxz/eLjW1p54VNPXm5nxKzwwyftE
Ps36G32D0kdkk9pRqnsQ2Dt5j8hf2RVXzyswu97mTkRXTQMDwKUtwopr6HlIZiOY
BzUOEJf4NQr3VeGkXeWfqjWMU7ch7FWf7SsyqNFinAgiDLaIdEYSRBi8xiRJpOn4
BUbhAlS2L4uGPWGa7TZ8sf8/s4Mdh784NSFn+4D6pVa7Quq5e6OmBVK4J851zAic
7mQsPhJLXactGWdksrjBSMQS7E5R8LG+k0j3
-----END CERTIFICATE-----
19 changes: 19 additions & 0 deletions certs/app_certs/client-cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDJjCCAg4CFFw5T+2r/PXbAFYdJUeCO9NurTMjMA0GCSqGSIb3DQEBCwUAMEsx
CzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVQdXNhbjEOMAwGA1UEBwwFUHVzYW4xDTAL
BgNVBAoMBFdVREMxDTALBgNVBAMMBFdVREMwHhcNMjUwNDE2MDU1OTAyWhcNMjYw
NDE2MDU1OTAyWjBUMQswCQYDVQQGEwJLUjEOMAwGA1UECAwFUHVzYW4xDjAMBgNV
BAcMBVB1c2FuMQ0wCwYDVQQKDARXVURDMRYwFAYDVQQDDA1kZXZsb2ctY2xpZW50
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3FizfydyA4/N8rtlV4D3
YNkeWNs1afvPP5ylut7LgVXHqQvp3UuCMlmG4fHkdH7QAm5bxTgQnAWRCYFQ3/M2
/eizc44LphuKkHZ8+uNKOZpjNjFXLzPe+m67hd+qVJJq0afscp+/UQkF348mxmoR
92nfaf1YWSWmdEU15iVahWAXyN8QUWfd6LanwXS2hd9u3ZzwIwGpYmf0JjnbLpvl
FrDkBEX3n56xe1SBoYnBC8tz9Ljelg3WHfTBaAj23wxEuJpTrfKnc4CGT+A0KFoi
12uRyNN0Qe1VroCyFKN75DjRc7KvZd5WjXf6WTXo83GoAVH89hGCW0EEyRgfpteK
7wIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQALrx8OeaBJOvH/wTIA9UxCECd3pLfF
ojnitMDHs45RDzrO8adxqTGuU1yyHtCpVtJOI7OLN+De3uVgSWb5fU9SRO9tgE4m
0WAgQXkxDVXrV2AThUnzyDNkWynxad4ledhVJ8hJN4OAMGA8dg9jovP3OMVjScZP
nQ+JIqhai1Ony6k7BTPwSXoByOouRG5M1c6HsKW0JL+mziz5qKh6UQE1O2Wu2BBR
aoFnAogK5WWBhYxntdX5WfIfGz2Pq/NjDyXwbSnLliOmr1HoXLpDtOoPTmnjbqD3
m2ytsApd7YRYiM88w7VRtt5VzYXyrqPkWCNBn9xyeNKnQwprrRxfMKj1
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions certs/app_certs/client-key-nopass.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDcWLN/J3IDj83y
u2VXgPdg2R5Y2zVp+88/nKW63suBVcepC+ndS4IyWYbh8eR0ftACblvFOBCcBZEJ
gVDf8zb96LNzjgumG4qQdnz640o5mmM2MVcvM976bruF36pUkmrRp+xyn79RCQXf
jybGahH3ad9p/VhZJaZ0RTXmJVqFYBfI3xBRZ93otqfBdLaF327dnPAjAaliZ/Qm
Odsum+UWsOQERfefnrF7VIGhicELy3P0uN6WDdYd9MFoCPbfDES4mlOt8qdzgIZP
4DQoWiLXa5HI03RB7VWugLIUo3vkONFzsq9l3laNd/pZNejzcagBUfz2EYJbQQTJ
GB+m14rvAgMBAAECggEAAXr+7K6PKkhEaXqk7aAcceAtXqH++6xfZ5w2pMPB9WDo
xwBatvWsYuvZWltHLIcUH67AbCgv3i15HHv49nss/1R3nZTbJgmUw0idasMYly9i
2u8XpblhC90NDFm1LQ+OIKp8aW9GZWLdPEyZG89vNF3IGtKbtn7tsSxBTLKOp1hg
IhMTK0VToA5lCbGn0JPSJlZTxSlKpz1HK/WxVWnGWGeSvIdBt33o0Ea9IHTT1esg
j7zr8jVz9FWcteiyIy1eRptKa+zLTtwLdRL0C1l20Sg2flml/k4UzwuexpOlg7VL
qsp7drzOfq/wPew88W3edhbpe52agsS29yoOtD6XgQKBgQDv8RAZnNAKWvcrqYAe
M9NBpMp/7+zeoK5u3A7LwUr9AOTYH9WdD53Y+3pn+ER7Dakn1o8TEDhwC0K623yX
uwHjMGeDHMifDGIe+FIVvJVVYf0I5qMGojUUbDDswQf3e5axrV1jJnk5++QaYHba
L9Ap+FweQfkmoPGiq3h74atIqQKBgQDrF+m4Wvwib27g2O285T5SmY2hPQwqysg1
N30IBV/m6brwKf7mcXdp1UF1od6jIG8FutI5kPrqfeYZShfgo20biv1YqgPAUoSF
EOjILQ0bMXadv0VZJfDqXnGAFh1c0otTpVUsZ5Qv/UYX46HdVovRuzqmp59JAIba
TsRhFEt91wKBgQCEd9xhp5eb//iyHFRlWEtr1GUQGQ/3IVLsVYW9rCuQXuv4/ipb
GgIVh1FfEUwNe89F9UjsR2pBQZZHv2GcC1zRZyne0wdX9+g8HPCEm6b+iqi+P0cG
JIuViN3B+BhD4/Ggiowib11CS/T1MwirEPamFT4WXmoFj5mYK37LNh3wcQKBgQDj
2dNeKGDChznxlo4kTBLxP33zThWiy9LrMRJvWbYvOU1DQ5CXjFVuL5A4EGCVvfOc
nArwXEG0T71ZuWQXBo3S6gzNiEoGdnOV/GOAz5kqR/Bsx1rRImKy5EIhIE3pDu6W
bWF1nhYTxOfQc4EH4r+00D/yEffhay9IGptec6sPFQKBgGY+RuvEja4LmRmxqFqf
0jybFry3ct+iM30Bp+ythjT15S9JFUvtGYuRH4NwFP3PzBKrmWPpkSdewFxPhHon
ZpSL9zWjH7W5l9HUBbuiYM5PF5nbz8uzZXQuL2zHl4dp1PYSdgHnZO4q6/oVt2iv
Y56fzbNtDQOSzNcS2KrKNBNx
-----END PRIVATE KEY-----
30 changes: 30 additions & 0 deletions certs/app_certs/client-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQID1XMsFyUjIQCAggA
MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBBxxVDXKG4mZOsVmGBYEITbBIIE
0HwgneRxrrWTxCUNrmpOcDZ7Sl9Xr1DhZYOwa7W5aqwzDhToxB2Q4PMTzPQJtJYx
wzUgP5bEK8t4tIKoEulu9yXbMMhlYWhHBR0dB7VReyvLispZdduOHeJ5kf1mCwPa
l6q6ZdGkjG7+P9CGx3Sfv995vXMtbuDjgtpoXqQ1A7frplmfMjh0BUcG22UwLbUB
XhjJ35iYgXIbeR54F09Pg0bg8VkYcS05+DsSdWS4r3IYDVauBZg+cXCb0aRl+GXO
jnmYYDymkJEzi1Fw4f7wg7X8QKuyUadYGxhnK0q0znSkOMXB7SVISWYajWsUCB+p
yBWU7KdafsntAqaDNmpph24PJEWGyimPmVjU7KgHxqyrYb/taXrsiN22sFEPX3Ta
5ye1QUCu5p6EFPxoKZt0WU4/75fwAsGypmxpHeWgf3qQmewpVbQFzkqmbs1sD6NI
1Q9dMLoG5CopS7MhOsfRRITEhM9es4CjlTo1EJZsBkS5ZBsXoiMhTRqmazDA+bhd
R+cPQRxQ0S62hRX85BQAAy6ONxbLyHiEo4XVhVOD/OdoJxmFpVQCVteErqTDSWJa
PHkx7ZjAOgUR2r1/EX6pVIky1omFyiRD4AGX/dguDIEJxTwCTiayNRvedUSxIfg+
XGJWfs7Nj7V9I8WF9sGRuBYkOS8GAjaYJpU5Fw1CThFU0VtlcpF8WioQhoTR3Soi
dqLuq6TyYEeADLRNL37YxSI1GcbK4Wf3RjJ6uoGyosFS8JLSlPE2Ib7Rrj6LL8sm
1KNUY+Kgmn/5mirLRTM+MxRXUXdk6wzOknLdNkeQwrWJHCJm0qZtyjRPPK2vwNta
p2HkvyxmlTqQx3b3+OcAis+Bjf2H/jzH1kAUV4MWgT3bHhUaQWcS/baBC9QiBaMc
qM6ejP9/GZaljkUMOupAoOz8pnY5ewVMbSl5+IPZBa7K24wgKiHZFzjMVCGzDmzr
WgiTbOubOOb9OaTR/iDZG+3sAtkPi5WsgVHrYyV01SUwS4uetxdJJA6T0nsw2SjN
PJ3WkSMRoUiTt5Ij6XsH2pzuc/osxEAtm0xNflW5FSPtg/ADK2wd9MT0PZCmo+ba
OYvMoO9aJS25PP3XK+nXHaQh7vxeroP/KGEtYWWCiRvZeZ0cX+3jhevHHQJ4mjbn
MIbD0/qsVBpFksqPKWlVKjjaFVr/yTLqSb69zVM15Ah3al7sKiUbgqbGLqM92zIt
jeyGNw5o8tRhmsCeUEvpXP4GVGBanio30ikqMb1z5OrG6XB7fy/JjSLksCRBB9uV
Vq8HCe4OdKDO/vDN8mp2DxZL+OGd/hEqdUZ0CyKrmBO3lU3h4yLNh2QFdNXimCjK
6nyDu6vhdAF6j2iUWC/sOOuEt7QELYGBCdBbn0wfH/XaWneDZ0IYwvSdbTEw9qoQ
wvboCFX49g3pkbIj10yp5gDo6mE9bPzPyjeud/Ag8y3LlS/MO+uhKv5XupD2+3sl
3iwTgSy+iQjHDII0AVb+QaavVthHkRHNL/rl0n/fmyZHzFDALNXIJ/yNPxL85D78
MiMYQJ9E+rO+ZYWwmRXW+FxfZ1JyaDQsPV1ZWqJdmpiA3vnL3ZL4xrXK25w6tZy3
FlfN+bnP1r2LNQFKBrERky0RBCU8iv6xQUbkQyPFThh0
-----END ENCRYPTED PRIVATE KEY-----
16 changes: 16 additions & 0 deletions certs/app_certs/client.csr
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICmTCCAYECAQAwVDELMAkGA1UEBhMCS1IxDjAMBgNVBAgMBVB1c2FuMQ4wDAYD
VQQHDAVQdXNhbjENMAsGA1UECgwEV1VEQzEWMBQGA1UEAwwNZGV2bG9nLWNsaWVu
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxYs38ncgOPzfK7ZVeA
92DZHljbNWn7zz+cpbrey4FVx6kL6d1LgjJZhuHx5HR+0AJuW8U4EJwFkQmBUN/z
Nv3os3OOC6YbipB2fPrjSjmaYzYxVy8z3vpuu4XfqlSSatGn7HKfv1EJBd+PJsZq
Efdp32n9WFklpnRFNeYlWoVgF8jfEFFn3ei2p8F0toXfbt2c8CMBqWJn9CY52y6b
5Raw5ARF95+esXtUgaGJwQvLc/S43pYN1h30wWgI9t8MRLiaU63yp3OAhk/gNCha
ItdrkcjTdEHtVa6AshSje+Q40XOyr2XeVo13+lk16PNxqAFR/PYRgltBBMkYH6bX
iu8CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQC4Vzu4fyhewiMXIFYptfr5kaDr
4BFKBqDQHZERgSoKlM8bIA5+TCTVGQ38mUGiDbuu+34XFseJC9dP9m8OED6Hmgm9
yCWN+64GFiC1jOlkFw2VmE6rHH6N2sbwOgTPy91YJh8kPnjr92i/2qHXX89T7LcW
IvQE6e0TlIXan43udpXKH97z8DVUdfwakd3gH0K2wsAmUtSfYjeZty+EdB/LYpFw
jvDnw7jbpHDtkWAf/w9lpgibrYzC7FNl9JaHq6ng24J3ude4kAHQ4QKU8Z8jkiJn
6Koe4topx8xbkBieAdNzLMgi0nv+tY4/UMMI1njk7gVbsyQ7wY5Ir6qvm4hZ
-----END CERTIFICATE REQUEST-----
89 changes: 89 additions & 0 deletions certs/app_certs/google-fullchain.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
-----BEGIN CERTIFICATE-----
MIIEeDCCA2CgAwIBAgIRAIIOTeFcOkvUEAhZaRElMkYwDQYJKoZIhvcNAQELBQAw
OzELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFUdvb2dsZSBUcnVzdCBTZXJ2aWNlczEM
MAoGA1UEAxMDV1IyMB4XDTI1MDMyMDExMjAzNFoXDTI1MDYxMjExMjAzM1owHjEc
MBoGA1UEAxMTYWNjb3VudHMuZ29vZ2xlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABLxsHfzEUtktVB6CycZH6AaINi5Bhsw07rZEuJhOE3X/gATjzeZNf+1j
pl/fApfNdgTlNWCFrrP36YTzx+82aOOjggJdMIICWTAOBgNVHQ8BAf8EBAMCB4Aw
EwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUliDn
8rqSai7lTNzAcR/TSF65DKQwHwYDVR0jBBgwFoAU3hse7XkV1D43JMMhu+w0OW1C
sjAwWAYIKwYBBQUHAQEETDBKMCEGCCsGAQUFBzABhhVodHRwOi8vby5wa2kuZ29v
Zy93cjIwJQYIKwYBBQUHMAKGGWh0dHA6Ly9pLnBraS5nb29nL3dyMi5jcnQwNQYD
VR0RBC4wLIITYWNjb3VudHMuZ29vZ2xlLmNvbYIVKi5wYXJ0bmVyLmFuZHJvaWQu
Y29tMBMGA1UdIAQMMAowCAYGZ4EMAQIBMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
Ly9jLnBraS5nb29nL3dyMi83NXI0WnlBM3ZBMC5jcmwwggEEBgorBgEEAdZ5AgQC
BIH1BIHyAPAAdwDPEVbu1S58r/OHW9lpLpvpGnFnSrAX7KwB0lt3zsw7CAAAAZWz
f4ySAAAEAwBIMEYCIQCynwunRTr3Zl0HlSl791D5pedOwAhFDr9T750YJAGPzAIh
AP3zIGEjXeps4Ft1FUwfl3Yco+L1fkyybt4YT77pfBZ+AHUAouMK5EXvva2bfjjt
R2d3U9eCW4SU1yteGyzEuVCkR+cAAAGVs3+MdQAABAMARjBEAiA+h5fkWNb51WXn
kDYKXu+FW43PCjAhzfskOo5d6W6mQwIgT3ky97SykxawRlhso0Z75lCh/2qqLdPb
Ro8LyQDOxLswDQYJKoZIhvcNAQELBQADggEBAHFdiq+W1/SaIFfURWnomlywdd31
1o8b/YH/K9tUbzB90FrtXDc8Y9+GbZ6naNAYeoQVUrRmlaZuPlTJbpjVDLoJu+1i
WrzpT6On00Z8RJJmBV/gtYJ6s3GxMpFlDmXZDS0W2yNvs9O2YoRQdjNYJ9lnjQEv
NgoI9oOJ5s37xqtijV7qyALHzD2+dZlP77jzaa+18U0j1cV3V4vmBED/cNxlaX1i
bAO53XukfH5ylvOxB5K09mIA2OYYU5N8U9XBFGRVBKLfzo0rdmnt9XqvZsH1CyKJ
tUS0x6P17D4f3mOEqVjQMJG7EVy4smqEUnRfOIrleHIFXMfv8o6MPVlgc9I=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIFCzCCAvOgAwIBAgIQf/AFoHxM3tEArZ1mpRB7mDANBgkqhkiG9w0BAQsFADBH
MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM
QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMjMxMjEzMDkwMDAwWhcNMjkwMjIw
MTQwMDAwWjA7MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNl
cnZpY2VzMQwwCgYDVQQDEwNXUjIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQCp/5x/RR5wqFOfytnlDd5GV1d9vI+aWqxG8YSau5HbyfsvAfuSCQAWXqAc
+MGr+XgvSszYhaLYWTwO0xj7sfUkDSbutltkdnwUxy96zqhMt/TZCPzfhyM1IKji
aeKMTj+xWfpgoh6zySBTGYLKNlNtYE3pAJH8do1cCA8Kwtzxc2vFE24KT3rC8gIc
LrRjg9ox9i11MLL7q8Ju26nADrn5Z9TDJVd06wW06Y613ijNzHoU5HEDy01hLmFX
xRmpC5iEGuh5KdmyjS//V2pm4M6rlagplmNwEmceOuHbsCFx13ye/aoXbv4r+zgX
FNFmp6+atXDMyGOBOozAKql2N87jAgMBAAGjgf4wgfswDgYDVR0PAQH/BAQDAgGG
MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBTeGx7teRXUPjckwyG77DQ5bUKyMDAfBgNVHSMEGDAWgBTk
rysmcRorSCeFL1JmLO/wiRNxPjA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAKG
GGh0dHA6Ly9pLnBraS5nb29nL3IxLmNydDArBgNVHR8EJDAiMCCgHqAchhpodHRw
Oi8vYy5wa2kuZ29vZy9yL3IxLmNybDATBgNVHSAEDDAKMAgGBmeBDAECATANBgkq
hkiG9w0BAQsFAAOCAgEARXWL5R87RBOWGqtY8TXJbz3S0DNKhjO6V1FP7sQ02hYS
TL8Tnw3UVOlIecAwPJQl8hr0ujKUtjNyC4XuCRElNJThb0Lbgpt7fyqaqf9/qdLe
SiDLs/sDA7j4BwXaWZIvGEaYzq9yviQmsR4ATb0IrZNBRAq7x9UBhb+TV+PfdBJT
DhEl05vc3ssnbrPCuTNiOcLgNeFbpwkuGcuRKnZc8d/KI4RApW//mkHgte8y0YWu
ryUJ8GLFbsLIbjL9uNrizkqRSvOFVU6xddZIMy9vhNkSXJ/UcZhjJY1pXAprffJB
vei7j+Qi151lRehMCofa6WBmiA4fx+FOVsV2/7R6V2nyAiIJJkEd2nSi5SnzxJrl
Xdaqev3htytmOPvoKWa676ATL/hzfvDaQBEcXd2Ppvy+275W+DKcH0FBbX62xevG
iza3F4ydzxl6NJ8hk8R+dDXSqv1MbRT1ybB5W0k8878XSOjvmiYTDIfyc9acxVJr
Y/cykHipa+te1pOhv7wYPYtZ9orGBV5SGOJm4NrB3K1aJar0RfzxC3ikr7Dyc6Qw
qDTBU39CluVIQeuQRgwG3MuSxl7zRERDRilGoKb8uY45JzmxWuKxrfwT/478JuHU
/oTxUFqOl2stKnn7QGTq8z29W+GgBLCXSBxC9epaHM0myFH/FJlniXJfHeytWt0=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIFYjCCBEqgAwIBAgIQd70NbNs2+RrqIQ/E8FjTDTANBgkqhkiG9w0BAQsFADBX
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE
CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIwMDYx
OTAwMDA0MloXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT
GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFIx
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAthECix7joXebO9y/lD63
ladAPKH9gvl9MgaCcfb2jH/76Nu8ai6Xl6OMS/kr9rH5zoQdsfnFl97vufKj6bwS
iV6nqlKr+CMny6SxnGPb15l+8Ape62im9MZaRw1NEDPjTrETo8gYbEvs/AmQ351k
KSUjB6G00j0uYODP0gmHu81I8E3CwnqIiru6z1kZ1q+PsAewnjHxgsHA3y6mbWwZ
DrXYfiYaRQM9sHmklCitD38m5agI/pboPGiUU+6DOogrFZYJsuB6jC511pzrp1Zk
j5ZPaK49l8KEj8C8QMALXL32h7M1bKwYUH+E4EzNktMg6TO8UpmvMrUpsyUqtEj5
cuHKZPfmghCN6J3Cioj6OGaK/GP5Afl4/Xtcd/p2h/rs37EOeZVXtL0m79YB0esW
CruOC7XFxYpVq9Os6pFLKcwZpDIlTirxZUTQAs6qzkm06p98g7BAe+dDq6dso499
iYH6TKX/1Y7DzkvgtdizjkXPdsDtQCv9Uw+wp9U7DbGKogPeMa3Md+pvez7W35Ei
Eua++tgy/BBjFFFy3l3WFpO9KWgz7zpm7AeKJt8T11dleCfeXkkUAKIAf5qoIbap
sZWwpbkNFhHax2xIPEDgfg1azVY80ZcFuctL7TlLnMQ/0lUTbiSw1nH69MG6zO0b
9f6BQdgAmD06yK56mDcYBZUCAwEAAaOCATgwggE0MA4GA1UdDwEB/wQEAwIBhjAP
BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTkrysmcRorSCeFL1JmLO/wiRNxPjAf
BgNVHSMEGDAWgBRge2YaRQ2XyolQL30EzTSo//z9SzBgBggrBgEFBQcBAQRUMFIw
JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnBraS5nb29nL2dzcjEwKQYIKwYBBQUH
MAKGHWh0dHA6Ly9wa2kuZ29vZy9nc3IxL2dzcjEuY3J0MDIGA1UdHwQrMCkwJ6Al
oCOGIWh0dHA6Ly9jcmwucGtpLmdvb2cvZ3NyMS9nc3IxLmNybDA7BgNVHSAENDAy
MAgGBmeBDAECATAIBgZngQwBAgIwDQYLKwYBBAHWeQIFAwIwDQYLKwYBBAHWeQIF
AwMwDQYJKoZIhvcNAQELBQADggEBADSkHrEoo9C0dhemMXoh6dFSPsjbdBZBiLg9
NR3t5P+T4Vxfq7vqfM/b5A3Ri1fyJm9bvhdGaJQ3b2t6yMAYN/olUazsaL+yyEn9
WprKASOshIArAoyZl+tJaox118fessmXn1hIVw41oeQa1v1vg4Fv74zPl6/AhSrw
9U5pCZEt4Wi4wStz6dTZ/CLANx8LZh1J7QJVj2fhMtfTJr9w4z30Z209fOU0iOMy
+qduBmpvvYuR7hZL6Dupszfnw0Skfths18dG9ZKb59UhvmaSGZRVbNQpsg3BZlvi
d0lIKO2d1xozclOzgjXPYovJJIultzkMu34qQb9Sz/yilrbCgj8=
-----END CERTIFICATE-----

Loading