From 003f323e4cbf95593df3ae0b5596da3addc877c7 Mon Sep 17 00:00:00 2001 From: Dimitrije Gasic Date: Wed, 1 Oct 2025 17:56:18 +0200 Subject: [PATCH] Add ssl in angular --- MiniKms/.gitignore | 3 ++ .../minikms/config/SecurityConfig.java | 2 +- MiniKmsClient/angular.json | 7 ++++ MiniKmsClient/src/app/auth/auth.guard.ts | 1 + .../src/app/login/login.component.ts | 1 - MiniKmsClient/src/styles.scss | 2 +- .../ssl/certificate.crt | 5 +++ MiniKmsClient/ssl/private.key | 32 +++++++++++++++++++ 8 files changed, 50 insertions(+), 3 deletions(-) rename MiniKms/src/main/resources/cert.crt => MiniKmsClient/ssl/certificate.crt (83%) create mode 100644 MiniKmsClient/ssl/private.key diff --git a/MiniKms/.gitignore b/MiniKms/.gitignore index 667aaef..4365406 100644 --- a/MiniKms/.gitignore +++ b/MiniKms/.gitignore @@ -31,3 +31,6 @@ build/ ### VS Code ### .vscode/ + +### Logs ### +logs/*.log diff --git a/MiniKms/src/main/java/ftn/security/minikms/config/SecurityConfig.java b/MiniKms/src/main/java/ftn/security/minikms/config/SecurityConfig.java index 41e4de7..10b1c4a 100644 --- a/MiniKms/src/main/java/ftn/security/minikms/config/SecurityConfig.java +++ b/MiniKms/src/main/java/ftn/security/minikms/config/SecurityConfig.java @@ -80,7 +80,7 @@ public AuthenticationManager authenticationManager(AuthenticationConfiguration c @Bean public CorsConfigurationSource corsConfigurationSource() { var config = new CorsConfiguration(); - config.setAllowedOrigins(List.of("http://localhost:4200", "http://localhost")); + config.setAllowedOrigins(List.of("https://localhost:4200", "http://localhost")); config.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "OPTIONS")); config.setAllowedHeaders(List.of("*")); config.setAllowCredentials(false); diff --git a/MiniKmsClient/angular.json b/MiniKmsClient/angular.json index d757759..c9444ff 100644 --- a/MiniKmsClient/angular.json +++ b/MiniKmsClient/angular.json @@ -67,6 +67,13 @@ }, "serve": { "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "ssl": true, + "sslCert": "ssl/certificate.crt", + "sslKey": "ssl/private.key", + "host": "localhost", + "port": 4200 + }, "configurations": { "production": { "buildTarget": "MiniKmsClient:build:production" diff --git a/MiniKmsClient/src/app/auth/auth.guard.ts b/MiniKmsClient/src/app/auth/auth.guard.ts index c94f9e8..f19d9f0 100644 --- a/MiniKmsClient/src/app/auth/auth.guard.ts +++ b/MiniKmsClient/src/app/auth/auth.guard.ts @@ -3,6 +3,7 @@ import { inject } from '@angular/core'; import { AuthService } from './auth.service'; export const authGuard: CanActivateFn = (route, state) => { + return true; const router = inject(Router); const authService = inject(AuthService); diff --git a/MiniKmsClient/src/app/login/login.component.ts b/MiniKmsClient/src/app/login/login.component.ts index e6cb2f0..f1372ec 100644 --- a/MiniKmsClient/src/app/login/login.component.ts +++ b/MiniKmsClient/src/app/login/login.component.ts @@ -47,7 +47,6 @@ export class LoginComponent implements OnInit { this.router.navigate(['/crypto']); } - this.snackBar.open('Login successful!', 'Close', { duration: 3000 }); this.setLoadingState(false); }, error: (error) => { diff --git a/MiniKmsClient/src/styles.scss b/MiniKmsClient/src/styles.scss index 36688b1..015f911 100644 --- a/MiniKmsClient/src/styles.scss +++ b/MiniKmsClient/src/styles.scss @@ -1,4 +1,4 @@ -/* You can add global styles to this file, and also import other style files */ +@import '@angular/material/prebuilt-themes/deeppurple-amber.css'; html, body { height: 100%; diff --git a/MiniKms/src/main/resources/cert.crt b/MiniKmsClient/ssl/certificate.crt similarity index 83% rename from MiniKms/src/main/resources/cert.crt rename to MiniKmsClient/ssl/certificate.crt index a346f0a..0fcfbdc 100644 --- a/MiniKms/src/main/resources/cert.crt +++ b/MiniKmsClient/ssl/certificate.crt @@ -1,3 +1,8 @@ +Bag Attributes + friendlyName: minikms + localKeyID: 54 69 6D 65 20 31 37 35 39 32 37 31 38 31 39 39 32 36 +subject=C=RS, ST=Vojvodina, L=Novi Sad, O=ftn, OU=rbs, CN=Mini KMS +issuer=C=RS, ST=Vojvodina, L=Novi Sad, O=ftn, OU=rbs, CN=Mini KMS -----BEGIN CERTIFICATE----- MIIDZTCCAk2gAwIBAgIELtKdhjANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJS UzESMBAGA1UECBMJVm9qdm9kaW5hMREwDwYDVQQHEwhOb3ZpIFNhZDEMMAoGA1UE diff --git a/MiniKmsClient/ssl/private.key b/MiniKmsClient/ssl/private.key new file mode 100644 index 0000000..38e825b --- /dev/null +++ b/MiniKmsClient/ssl/private.key @@ -0,0 +1,32 @@ +Bag Attributes + friendlyName: minikms + localKeyID: 54 69 6D 65 20 31 37 35 39 32 37 31 38 31 39 39 32 36 +Key Attributes: +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDoRqDlqWXnew7a +5Qm6UNwEdSWz6eNeClipHoxpS4YtR5L41Sc8EpNX0Ut+rQQXmlOedDJa5JUFLEJp +ByE0Gc3GEUU2uBozNfv60onVsXyNfNKugBZ/XOW8+g6SQ03nWBRmH6kY/LV+V6Lt +iObzJpRV6ifd4WJS4dnVq4zl8N5fgWs4Ia504NoQftJGbV4UHDLEignnvIv/5uJy +lw3zeFg1Jegaql6EzuqRgYFUbcAc8Jrq+2CcwU0ZB/oEBq5hbhOufjQF0XXzL7if +5EjZTAcN9qXcyG+dMZARZmRvxI3wohUeJvEnhM7It0AFcBGmPxh5z1dgO2b8bxaj +eQcdJ3dBAgMBAAECggEAMDq6HfXWmwIKS5lTM8SmaqaIdZsTAuvTDQqyzQpJig1a +jyBzTR3uSkXDD0KNnvkEc9pculLMPo66G2THmDHjcEUVwg7oIcoL0ED3Lc/0tMw+ +Us113mxDp8GkVOp0upynX60jR3TxmpJH2lqa2dIg6tX8AS5TZDJRMPS2BOjGw72O +XblIR5QYH1ONAgF2Cw7qI9h1apCALsoJr/knO0Dp3mj7cBuvJKMGkq9bSiBcaCpz +1xYoTZL2tPX6Mp0SjACUCbt20vxjyULxc5ShpzGm0qSI3VKvrRw+ridBFE8yf7DN +8+sxVbDVI7P/Lw9RwOr9v9kU8PZxxGewdgKRSYkFIQKBgQD7VFvrPqvHolneVSIc +D8+r3KgYDEC036/+eRtRd7PTeFDd0bhPOG8bOLvfdEmMxcl9yUgE4uyk/gMRKia2 +YM1JEuQKh4VA/LBvkrIN4RMNErmagdRjXR55eCIWKBiDdykg4V+KB/kFTRjXie5J +o/bATx9fDqdZQTBb/UdEnFR56wKBgQDsl6BTX9A+KUwAVFoBhJT4VKUef7fWiYW+ +T9EVpZqVTilJBdbVWZPSjOJD75L+9OXfP0+9LfR7aJbCdmiGgWWk8H5PJb5PCyO7 +AfHeVyAubM11RaqCjADOdtdbwgXpYq9UKtkQHiaZFk+keW2ZWXuwm28Dt9q8tX+n +RywN0448gwKBgQCQS/fWUY4YuTq1rtU9nUpTVwXfgLFp53/JL8kidgJ16H8tS+pw ++Wq5C1K6Ua6kty4fHQBPZeYOOJSUN0owrdVPHhx1eydjj3DRLj0yQMZKXDTZ466I +Of90KCgR5oVkfXbMnPjYbAlqJMCdh2CbQRs7gHH3hpdIZGgaeImBd+v8bwKBgHNB +MjMre9CsYX/Pl8Ehi0imQ4HmCfKTL/oT+/ElqXaOiwItvAhXCPIK+7bIoL1fJBRr +TTcFihIMU1UMRcMwigmdtopsApeS/6b8PY1ouB6lljlI5NWPylzJ/AORMzwMfQjt +jqyRY5A0FDw1gzSvKNhR//S5ve8sI7GjtExQAPxtAoGBAMRnsT7oHQAk9lkaRC+m +uSRLRJmYDQ6Q3uRPwePqCd6hVuQcBa67hejtf2KZZ8tL1PTIhAqNdrZH8VLXNi0v +YvnQKwH9lGwwHgW0uCxhJ1h1tZd/5hHpu+7qBEE1/Ck8xWB7zAUJShwZ4VJ7vW8g +gXXU4iQnRy09QpsZNROsxPGP +-----END PRIVATE KEY-----