From 4e89f53137e6b7ae5362d27e14d6982ea8bcecd7 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Oct 2020 13:16:54 +0200
Subject: [PATCH 001/602] Updated dependencies
---
pom.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pom.xml b/pom.xml
index baea055d..a5790356 100644
--- a/pom.xml
+++ b/pom.xml
@@ -186,7 +186,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 9.4.31.v20200723
+ 9.4.32.v20200930
org.apache.maven.plugins
@@ -207,7 +207,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.0.4
+ 4.1.3
Max
Low
@@ -223,7 +223,7 @@
org.owasp
dependency-check-maven
- 6.0.1
+ 6.0.2
true
From 61950c9242b37c50469b49645b53b6e7a61d02fd Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Nov 2020 15:41:00 +0100
Subject: [PATCH 002/602] Updated dependencies and plugins
---
pom.xml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/pom.xml b/pom.xml
index a5790356..2c386712 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,14 +38,14 @@
org.springframework.boot
spring-boot-starter-parent
- 2.3.4.RELEASE
+ 2.3.5.RELEASE
2.13.3
1.2.2
- 1.4.0
+ 1.5.0
dschadow
false
UTF-8
@@ -104,7 +104,7 @@
com.google.guava
guava
- 29.0-jre
+ 30.0-jre
com.google.crypto.tink
@@ -136,7 +136,7 @@
org.webjars
bootstrap
- 4.5.2
+ 4.5.3
@@ -168,7 +168,7 @@
com.google.cloud.tools
jib-maven-plugin
- 2.5.2
+ 2.6.0
${docker.image.prefix}/${project.artifactId}
@@ -186,7 +186,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 9.4.32.v20200930
+ 9.4.34.v20201102
org.apache.maven.plugins
@@ -207,7 +207,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.1.3
+ 4.1.4
Max
Low
@@ -223,7 +223,7 @@
org.owasp
dependency-check-maven
- 6.0.2
+ 6.0.3
true
From ba3bff4a3d0dece09c0e5c249d393cf5c59544d7 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 15 Nov 2020 09:51:25 +0100
Subject: [PATCH 003/602] Updated Spring Boot to 2.4.0
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 2c386712..c2cc3708 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.3.5.RELEASE
+ 2.4.0
From 49ab42b1a7b777b54d2aa637b5ce0b4a390a3730 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 15 Nov 2020 09:52:01 +0100
Subject: [PATCH 004/602] Updated test to JUnit Jupiter
---
.../javasecurity/csrf/home/IndexControllerTest.java | 5 +----
.../javasecurity/csrf/orders/OrderControllerTest.java | 5 +----
.../java/de/dominikschadow/javasecurity/ApplicationTest.java | 5 +----
.../javasecurity/tasks/InterceptMeControllerTest.java | 5 +----
4 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/home/IndexControllerTest.java b/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/home/IndexControllerTest.java
index 5abb4167..8105d95f 100644
--- a/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/home/IndexControllerTest.java
+++ b/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/home/IndexControllerTest.java
@@ -17,18 +17,15 @@
*/
package de.dominikschadow.javasecurity.csrf.home;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
-import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import static org.hamcrest.Matchers.containsString;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-@RunWith(SpringRunner.class)
@WebMvcTest(IndexController.class)
public class IndexControllerTest {
@Autowired
diff --git a/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/orders/OrderControllerTest.java b/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/orders/OrderControllerTest.java
index dacbb4da..c2e0a622 100644
--- a/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/orders/OrderControllerTest.java
+++ b/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/orders/OrderControllerTest.java
@@ -17,12 +17,10 @@
*/
package de.dominikschadow.javasecurity.csrf.orders;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import static org.hamcrest.Matchers.containsString;
@@ -30,7 +28,6 @@
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-@RunWith(SpringRunner.class)
@WebMvcTest(OrderController.class)
public class OrderControllerTest {
@Autowired
diff --git a/intercept-me/src/test/java/de/dominikschadow/javasecurity/ApplicationTest.java b/intercept-me/src/test/java/de/dominikschadow/javasecurity/ApplicationTest.java
index 113ee60a..ba15a05f 100644
--- a/intercept-me/src/test/java/de/dominikschadow/javasecurity/ApplicationTest.java
+++ b/intercept-me/src/test/java/de/dominikschadow/javasecurity/ApplicationTest.java
@@ -17,12 +17,9 @@
*/
package de.dominikschadow.javasecurity;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTest {
@Test
diff --git a/intercept-me/src/test/java/de/dominikschadow/javasecurity/tasks/InterceptMeControllerTest.java b/intercept-me/src/test/java/de/dominikschadow/javasecurity/tasks/InterceptMeControllerTest.java
index 48521903..95c51fee 100644
--- a/intercept-me/src/test/java/de/dominikschadow/javasecurity/tasks/InterceptMeControllerTest.java
+++ b/intercept-me/src/test/java/de/dominikschadow/javasecurity/tasks/InterceptMeControllerTest.java
@@ -17,12 +17,10 @@
*/
package de.dominikschadow.javasecurity.tasks;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import static org.hamcrest.Matchers.containsString;
@@ -30,7 +28,6 @@
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-@RunWith(SpringRunner.class)
@WebMvcTest(InterceptMeController.class)
public class InterceptMeControllerTest {
@Autowired
From 2f9282cfc53dd5168f517d9647ff914d5078502e Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 12 Dec 2020 13:59:30 +0100
Subject: [PATCH 005/602] Updated Spring Boot to 2.4.1
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index c2cc3708..ea28bf85 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.0
+ 2.4.1
From 8bec2fbf10e8051d31c158ac9e60a023a127c7f6 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 12 Dec 2020 14:07:28 +0100
Subject: [PATCH 006/602] Updated dependencies
---
pom.xml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/pom.xml b/pom.xml
index ea28bf85..5f83700d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,8 +43,8 @@
- 2.13.3
- 1.2.2
+ 2.14.0
+ 1.2.3
1.5.0
dschadow
false
@@ -79,7 +79,7 @@
org.apache.shiro
shiro-core
- 1.6.0
+ 1.7.0
org.apache.logging.log4j
@@ -120,7 +120,7 @@
org.owasp.esapi
esapi
- 2.2.1.1
+ 2.2.2.0
antisamy
@@ -168,7 +168,7 @@
com.google.cloud.tools
jib-maven-plugin
- 2.6.0
+ 2.7.0
${docker.image.prefix}/${project.artifactId}
@@ -186,7 +186,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 9.4.34.v20201102
+ 9.4.35.v20201120
org.apache.maven.plugins
From bfb7519cfca6e6724b3ceee655ac7b6a019c0ace Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Jan 2021 10:11:57 +0100
Subject: [PATCH 007/602] Using GitHub Actions for CI
---
.github/workflows/maven.yml | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 .github/workflows/maven.yml
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 00000000..04a7ee7a
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,21 @@
+name: Java CI with Maven
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Java 11
+ uses: actions/setup-java@v1
+ with:
+ java-version: 11
+ - name: Build with Maven
+ run: mvn -B package --file pom.xml
From 0c7a7ca53b9bb70643dcbab009c45274c825551b Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Jan 2021 10:14:49 +0100
Subject: [PATCH 008/602] Removed TravisCI, replaced by GitHub Actions
---
.travis.yml | 3 ---
README.md | 1 -
2 files changed, 4 deletions(-)
delete mode 100644 .travis.yml
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 9d5deb1a..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-sudo: false
-language: java
-jdk: openjdk11
\ No newline at end of file
diff --git a/README.md b/README.md
index 9933f6b2..61b40e8b 100644
--- a/README.md
+++ b/README.md
@@ -97,5 +97,4 @@ algorithms as well as hash data (passwords).
Crypto demo project using [Google Tink](https://github.com/google/tink) to encrypt and decrypt data with asymmetric and hybrid encryption, MAC and digital signatures. Depending on the demo, keys are either generated on the fly or stored/loaded from the keysets directory. The **AWS KMS** samples (classes with AwsKms in their names) require a configured AWS KMS with an enabled master key.
## Meta
-[](https://travis-ci.org/dschadow/JavaSecurity)
[](https://opensource.org/licenses/Apache-2.0)
\ No newline at end of file
From f8ac448f7d2446bec08dd9aa5b2edd34ff03f944 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Jan 2021 10:24:37 +0100
Subject: [PATCH 009/602] renamed action to JavaBuild
---
.github/workflows/maven.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 04a7ee7a..3a45785b 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,4 +1,4 @@
-name: Java CI with Maven
+name: JavaBuild
on:
push:
From b95d60d433462997b112d22cbba718258356636d Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Jan 2021 10:26:59 +0100
Subject: [PATCH 010/602] removed branches from push event to trigger on any
branch
---
.github/workflows/maven.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 3a45785b..67d07e58 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -2,7 +2,6 @@ name: JavaBuild
on:
push:
- branches: [ master ]
pull_request:
branches: [ master ]
From d9d7d4f47a3808751edf6500dc58ea59018fdd58 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Jan 2021 10:30:19 +0100
Subject: [PATCH 011/602] added build badge
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 61b40e8b..1ca8a7ab 100644
--- a/README.md
+++ b/README.md
@@ -97,4 +97,4 @@ algorithms as well as hash data (passwords).
Crypto demo project using [Google Tink](https://github.com/google/tink) to encrypt and decrypt data with asymmetric and hybrid encryption, MAC and digital signatures. Depending on the demo, keys are either generated on the fly or stored/loaded from the keysets directory. The **AWS KMS** samples (classes with AwsKms in their names) require a configured AWS KMS with an enabled master key.
## Meta
-[](https://opensource.org/licenses/Apache-2.0)
\ No newline at end of file
+ ](https://opensource.org/licenses/Apache-2.0)
\ No newline at end of file
From f5f1e06d28b56d7b822eaeca0f29973d9a196fba Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Jan 2021 10:31:15 +0100
Subject: [PATCH 012/602] Fixed license badge
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 1ca8a7ab..c241a11d 100644
--- a/README.md
+++ b/README.md
@@ -97,4 +97,4 @@ algorithms as well as hash data (passwords).
Crypto demo project using [Google Tink](https://github.com/google/tink) to encrypt and decrypt data with asymmetric and hybrid encryption, MAC and digital signatures. Depending on the demo, keys are either generated on the fly or stored/loaded from the keysets directory. The **AWS KMS** samples (classes with AwsKms in their names) require a configured AWS KMS with an enabled master key.
## Meta
- ](https://opensource.org/licenses/Apache-2.0)
\ No newline at end of file
+ [](https://opensource.org/licenses/Apache-2.0)
\ No newline at end of file
From 3a9175f780cb60052362c6a1a833aaf03590137d Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Jan 2021 10:32:06 +0100
Subject: [PATCH 013/602] renamed to Build
---
.github/workflows/maven.yml | 2 +-
README.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 67d07e58..96dc7619 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,4 +1,4 @@
-name: JavaBuild
+name: Build
on:
push:
diff --git a/README.md b/README.md
index c241a11d..c55e81ff 100644
--- a/README.md
+++ b/README.md
@@ -97,4 +97,4 @@ algorithms as well as hash data (passwords).
Crypto demo project using [Google Tink](https://github.com/google/tink) to encrypt and decrypt data with asymmetric and hybrid encryption, MAC and digital signatures. Depending on the demo, keys are either generated on the fly or stored/loaded from the keysets directory. The **AWS KMS** samples (classes with AwsKms in their names) require a configured AWS KMS with an enabled master key.
## Meta
- [](https://opensource.org/licenses/Apache-2.0)
\ No newline at end of file
+ [](https://opensource.org/licenses/Apache-2.0)
\ No newline at end of file
From b949470e7f4ce9361253dd222de8331d2e9bf857 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Jan 2021 10:43:40 +0100
Subject: [PATCH 014/602] Updated dependencies
---
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index 5f83700d..d0e4f05f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -104,7 +104,7 @@
com.google.guava
guava
- 30.0-jre
+ 30.1-jre
com.google.crypto.tink
@@ -223,7 +223,7 @@
org.owasp
dependency-check-maven
- 6.0.3
+ 6.0.4
true
From 3dc1df83d02be741ceb6bd2086c5cecf9e4e2a7f Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 10 Jan 2021 21:14:30 +0100
Subject: [PATCH 015/602] renamed branch from master to main
---
.github/workflows/maven.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 96dc7619..eb6e7a70 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -3,7 +3,7 @@ name: Build
on:
push:
pull_request:
- branches: [ master ]
+ branches: [ main ]
jobs:
build:
From 13051974b0d32755a2ca42d2ea9d40acb7cd06ee Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 15 Jan 2021 19:25:08 +0100
Subject: [PATCH 016/602] Updated plugins
---
pom.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pom.xml b/pom.xml
index d0e4f05f..27bb2c18 100644
--- a/pom.xml
+++ b/pom.xml
@@ -168,7 +168,7 @@
com.google.cloud.tools
jib-maven-plugin
- 2.7.0
+ 2.7.1
${docker.image.prefix}/${project.artifactId}
@@ -207,7 +207,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.1.4
+ 4.2.0
Max
Low
@@ -223,7 +223,7 @@
org.owasp
dependency-check-maven
- 6.0.4
+ 6.0.5
true
From 0b939f7a6c996c5847c331e6f7aa543557139d61 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 15 Jan 2021 19:25:44 +0100
Subject: [PATCH 017/602] Updated Spring Boot to 2.4.2
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 27bb2c18..5b5e305c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.1
+ 2.4.2
From f0455a285436ac6467b8964d2da6d2790b104b30 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 6 Feb 2021 16:26:56 +0100
Subject: [PATCH 018/602] Updated dependencies and plugins
---
pom.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pom.xml b/pom.xml
index 5b5e305c..e3e128fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -79,7 +79,7 @@
org.apache.shiro
shiro-core
- 1.7.0
+ 1.7.1
org.apache.logging.log4j
@@ -136,7 +136,7 @@
org.webjars
bootstrap
- 4.5.3
+ 4.6.0
@@ -186,7 +186,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 9.4.35.v20201120
+ 9.4.36.v20210114
org.apache.maven.plugins
@@ -223,7 +223,7 @@
org.owasp
dependency-check-maven
- 6.0.5
+ 6.1.0
true
From 7f85a32d00e5775b180addea932785c020aaf673 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Thu, 18 Feb 2021 19:24:52 +0100
Subject: [PATCH 019/602] Updated dependencies and plugins
---
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index e3e128fa..48e2f68c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.2
+ 2.4.3
@@ -223,7 +223,7 @@
org.owasp
dependency-check-maven
- 6.1.0
+ 6.1.1
true
From 3f4836c25baf9b270f87ce9ba1ae74f6fd9941c3 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Thu, 18 Mar 2021 14:50:38 +0100
Subject: [PATCH 020/602] Updated Spring Boot to 2.4.4
---
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index 48e2f68c..a1ee4b5e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.3
+ 2.4.4
@@ -223,7 +223,7 @@
org.owasp
dependency-check-maven
- 6.1.1
+ 6.1.2
true
From 0a44d444812e68b2f377f6a66cfb0284be979c1f Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 10:15:44 +0200
Subject: [PATCH 021/602] Updated dependencies
---
pom.xml | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/pom.xml b/pom.xml
index a1ee4b5e..05bb7591 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,7 @@
- 2.14.0
+ 2.14.1
1.2.3
1.5.0
dschadow
@@ -104,7 +104,7 @@
com.google.guava
guava
- 30.1-jre
+ 30.1.1-jre
com.google.crypto.tink
@@ -120,7 +120,7 @@
org.owasp.esapi
esapi
- 2.2.2.0
+ 2.2.3.0
antisamy
@@ -168,7 +168,7 @@
com.google.cloud.tools
jib-maven-plugin
- 2.7.1
+ 2.8.0
${docker.image.prefix}/${project.artifactId}
@@ -186,7 +186,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 9.4.36.v20210114
+ 11.0.1
org.apache.maven.plugins
@@ -207,7 +207,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.2.0
+ 4.2.2
Max
Low
@@ -223,7 +223,7 @@
org.owasp
dependency-check-maven
- 6.1.2
+ 6.1.3
true
From 1f4165f47fcae8057dbdc28f0de1fc5de76eb136 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 10:22:14 +0200
Subject: [PATCH 022/602] removed google jib to build docker images, switch to
spring-boot:build-image
---
access-control-spring-security/pom.xml | 4 ----
crypto-hash/pom.xml | 12 ------------
crypto-java/pom.xml | 12 ------------
crypto-keyczar/pom.xml | 12 ------------
crypto-shiro/pom.xml | 12 ------------
crypto-tink/pom.xml | 12 ------------
csp-spring-security/pom.xml | 4 ----
csrf-spring-security/pom.xml | 4 ----
csrf/pom.xml | 7 -------
direct-object-references/pom.xml | 4 ----
intercept-me/pom.xml | 4 ----
pom.xml | 13 -------------
security-header/pom.xml | 7 -------
security-logging/pom.xml | 4 ----
serialize-me/pom.xml | 12 ------------
session-handling-spring-security/pom.xml | 4 ----
session-handling/pom.xml | 7 -------
sql-injection/pom.xml | 4 ----
xss/pom.xml | 7 -------
19 files changed, 145 deletions(-)
diff --git a/access-control-spring-security/pom.xml b/access-control-spring-security/pom.xml
index 8fe04d12..5c968a18 100644
--- a/access-control-spring-security/pom.xml
+++ b/access-control-spring-security/pom.xml
@@ -59,10 +59,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
\ No newline at end of file
diff --git a/crypto-hash/pom.xml b/crypto-hash/pom.xml
index d9f917e7..68f45be4 100644
--- a/crypto-hash/pom.xml
+++ b/crypto-hash/pom.xml
@@ -34,16 +34,4 @@
log4j-slf4j-impl
-
-
-
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
-
-
\ No newline at end of file
diff --git a/crypto-java/pom.xml b/crypto-java/pom.xml
index b104309f..261ae508 100644
--- a/crypto-java/pom.xml
+++ b/crypto-java/pom.xml
@@ -34,16 +34,4 @@
log4j-slf4j-impl
-
-
-
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
-
-
\ No newline at end of file
diff --git a/crypto-keyczar/pom.xml b/crypto-keyczar/pom.xml
index d92a53b5..13c42bee 100644
--- a/crypto-keyczar/pom.xml
+++ b/crypto-keyczar/pom.xml
@@ -44,16 +44,4 @@
log4j-slf4j-impl
-
-
-
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
-
-
\ No newline at end of file
diff --git a/crypto-shiro/pom.xml b/crypto-shiro/pom.xml
index 171a5962..7fc8ab9b 100644
--- a/crypto-shiro/pom.xml
+++ b/crypto-shiro/pom.xml
@@ -36,16 +36,4 @@
log4j-slf4j-impl
-
-
-
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
-
-
\ No newline at end of file
diff --git a/crypto-tink/pom.xml b/crypto-tink/pom.xml
index 84c8f0ae..7a0433b7 100644
--- a/crypto-tink/pom.xml
+++ b/crypto-tink/pom.xml
@@ -38,16 +38,4 @@
log4j-slf4j-impl
-
-
-
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
-
-
\ No newline at end of file
diff --git a/csp-spring-security/pom.xml b/csp-spring-security/pom.xml
index 7b87f38d..2c326c71 100644
--- a/csp-spring-security/pom.xml
+++ b/csp-spring-security/pom.xml
@@ -47,10 +47,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
\ No newline at end of file
diff --git a/csrf-spring-security/pom.xml b/csrf-spring-security/pom.xml
index 0967c6b2..b3721e44 100644
--- a/csrf-spring-security/pom.xml
+++ b/csrf-spring-security/pom.xml
@@ -58,10 +58,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
\ No newline at end of file
diff --git a/csrf/pom.xml b/csrf/pom.xml
index 05511281..b53847e5 100644
--- a/csrf/pom.xml
+++ b/csrf/pom.xml
@@ -47,13 +47,6 @@
org.apache.tomcat.maven
tomcat7-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
\ No newline at end of file
diff --git a/direct-object-references/pom.xml b/direct-object-references/pom.xml
index c1610a7f..026f9917 100644
--- a/direct-object-references/pom.xml
+++ b/direct-object-references/pom.xml
@@ -53,10 +53,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
\ No newline at end of file
diff --git a/intercept-me/pom.xml b/intercept-me/pom.xml
index 128aa9de..9bdcddbb 100644
--- a/intercept-me/pom.xml
+++ b/intercept-me/pom.xml
@@ -52,10 +52,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 05bb7591..074dde0e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -165,19 +165,6 @@
-
- com.google.cloud.tools
- jib-maven-plugin
- 2.8.0
-
-
- ${docker.image.prefix}/${project.artifactId}
-
-
- USE_CURRENT_TIMESTAMP
-
-
-
org.apache.tomcat.maven
tomcat7-maven-plugin
diff --git a/security-header/pom.xml b/security-header/pom.xml
index ac253e55..5da0a32f 100644
--- a/security-header/pom.xml
+++ b/security-header/pom.xml
@@ -55,13 +55,6 @@
secureheaders
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
\ No newline at end of file
diff --git a/security-logging/pom.xml b/security-logging/pom.xml
index 2fb75e7f..d0d8fee2 100644
--- a/security-logging/pom.xml
+++ b/security-logging/pom.xml
@@ -58,10 +58,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
\ No newline at end of file
diff --git a/serialize-me/pom.xml b/serialize-me/pom.xml
index fa024019..933a3d5d 100644
--- a/serialize-me/pom.xml
+++ b/serialize-me/pom.xml
@@ -20,16 +20,4 @@
guava
-
-
-
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
-
-
\ No newline at end of file
diff --git a/session-handling-spring-security/pom.xml b/session-handling-spring-security/pom.xml
index b177ccbc..cb9137b5 100755
--- a/session-handling-spring-security/pom.xml
+++ b/session-handling-spring-security/pom.xml
@@ -56,10 +56,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
\ No newline at end of file
diff --git a/session-handling/pom.xml b/session-handling/pom.xml
index d1aeb4f1..de6a50c3 100644
--- a/session-handling/pom.xml
+++ b/session-handling/pom.xml
@@ -49,13 +49,6 @@
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
\ No newline at end of file
diff --git a/sql-injection/pom.xml b/sql-injection/pom.xml
index 219b1a16..7468d1dc 100644
--- a/sql-injection/pom.xml
+++ b/sql-injection/pom.xml
@@ -65,10 +65,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- com.google.cloud.tools
- jib-maven-plugin
-
\ No newline at end of file
diff --git a/xss/pom.xml b/xss/pom.xml
index b770266b..713855de 100644
--- a/xss/pom.xml
+++ b/xss/pom.xml
@@ -55,13 +55,6 @@
${project.basedir}/src/main/resources/context.xml
-
- com.google.cloud.tools
- jib-maven-plugin
-
- true
-
-
\ No newline at end of file
From 6a84e0a59d3a7e161a2d03932682fc1cd8f34c57 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 10:27:57 +0200
Subject: [PATCH 023/602] Updated instructions, added spring-boot:build-image
information
---
README.md | 63 +++++++++++++++----------------------------------------
1 file changed, 17 insertions(+), 46 deletions(-)
diff --git a/README.md b/README.md
index c55e81ff..cf37682d 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,20 @@
Java Security
============
-This repository contains several Java web applications and command line applications covering different security topics.
-Have a look at my [slides](https://blog.dominikschadow.de/events) and [publications](https://blog.dominikschadow.de/publications) covering most applications in this repository.
+This repository contains several Java web applications and command line applications covering different security topics. Have a look at my [slides](https://blog.dominikschadow.de/events) and [publications](https://blog.dominikschadow.de/publications) covering most applications in this repository.
# Requirements
-- [Java 11](http://www.oracle.com/technetwork/java)
+- [Java 11](https://adoptopenjdk.net)
- [Maven 3](http://maven.apache.org/)
-- [Mozilla Firefox](https://www.mozilla.org) (strongly recommended, some demos might not be fully working in other browsers)
+- [Mozilla Firefox](https://www.mozilla.org) (recommended, some demos might not be fully working in other browsers)
+- [Docker](https://www.docker.com) (required for running the sample applications as Docker containers)
# Web Applications in Detail
Some web applications contain exercises, some are only there to inspect and learn. Instructions are provided in detail on the start page of each web application.
-Some web applications are based on [Spring Boot](http://projects.spring.io/spring-boot) and can be started via the
-**main** method in the **Application** class or via **mvn spring-boot:run** in the project directory. Most projects
-can be launched via `docker run -p 8080:8080 dschadow/[PROJECT]:[VERSION]` after the image has been created using `mvn clean verify jib:dockerBuild`. The other web applications either contain an embedded
-**Tomcat7 Maven plugin** which can be started via **mvn tomcat7:run-war**, or an embedded **Jetty Maven plugin** which can be started via **mvn jetty:run-war**.
+Some web applications are based on [Spring Boot](http://projects.spring.io/spring-boot) and can be started via the **main** method in the **Application** class or via **mvn spring-boot:run** in the project directory. Spring Boot projects can be launched via `docker run -p 8080:8080 dschadow/[PROJECT]:[VERSION]` after the image has been created using `mvn spring-boot:build-image`. The other web applications either contain an embedded **Tomcat7 Maven plugin** which can be started via **mvn tomcat7:run-war**, or an embedded **Jetty Maven plugin** which can be started via **mvn jetty:run-war**.
## access-control-spring-security
-Access control demo project utilizing [Spring Security](http://projects.spring.io/spring-security) in a Spring Boot
-application. Shows how to safely load user data from a database without using potentially faked frontend values. After launching, open the web application in your browser at **http://localhost:8080**.
+Access control demo project utilizing [Spring Security](http://projects.spring.io/spring-security) in a Spring Boot application. Shows how to safely load user data from a database without using potentially faked frontend values. After launching, open the web application in your browser at **http://localhost:8080**.
## csp-spring-security
Spring Boot based web application using a Content Security Policy (CSP) header. After launching, open the web application in your browser at **http://localhost:8080**.
@@ -27,54 +23,31 @@ Spring Boot based web application using a Content Security Policy (CSP) header.
Cross-Site Request Forgery (CSRF) demo project based on Spring Boot preventing CSRF in a web application by utilizing [Spring Security](http://projects.spring.io/spring-security). After launching, open the web application in your browser at **http://localhost:8080**.
## csrf
-Cross-Site Request Forgery (CSRF) demo project preventing CSRF in a JavaServer Pages (JSP) web application by utilizing
-the [Enterprise Security API (ESAPI)](https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API).
-After launching, open the web application in your browser at **http://localhost:8080/csrf**.
+Cross-Site Request Forgery (CSRF) demo project preventing CSRF in a JavaServer Pages (JSP) web application by utilizing the [Enterprise Security API (ESAPI)](https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API). After launching, open the web application in your browser at **http://localhost:8080/csrf**.
## direct-object-references
-Direct object references (and indirect object references) demo project using Spring Boot and utilizing the
-[Enterprise Security API (ESAPI)](https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API). After
-launching, open the web application in your browser at **http://localhost:8080**.
+Direct object references (and indirect object references) demo project using Spring Boot and utilizing the [Enterprise Security API (ESAPI)](https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API). After launching, open the web application in your browser at **http://localhost:8080**.
## intercept-me
-Spring Boot based web application to experiment with
-[OWASP ZAP](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) as intercepting proxy. Target is to receive
-**SUCCESS** from the backend. After launching, open the web application in your browser at **http://localhost:8080**.
+Spring Boot based web application to experiment with [OWASP ZAP](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) as intercepting proxy. Target is to receive **SUCCESS** from the backend. After launching, open the web application in your browser at **http://localhost:8080**.
## security-header
-Security response header demo project which applies **X-Content-Type-Options**, **Cache-Control**, **X-Frame-Options**,
-**HTTP Strict Transport Security (HSTS)**, **X-XSS-Protection** and **Content Security Policy (CSP)** (Level 1 and 2)
-headers to HTTP responses. After launching, open the web application in your browser at
-**http://localhost:8080/security-header** or **https://localhost:8443/security-header**.
+Security response header demo project which applies **X-Content-Type-Options**, **Cache-Control**, **X-Frame-Options**, **HTTP Strict Transport Security (HSTS)**, **X-XSS-Protection** and **Content Security Policy (CSP)** (Level 1 and 2) headers to HTTP responses. After launching, open the web application in your browser at **http://localhost:8080/security-header** or **https://localhost:8443/security-header**.
## security-logging
-Spring Boot based web application utilizing the
-[OWASP Security Logging Project](https://www.owasp.org/index.php/OWASP_Security_Logging_Project). Demonstrates how to log security relevant incidents in a log file. After launching, open
-the web application in your browser at **http://localhost:8080**.
+Spring Boot based web application utilizing the [OWASP Security Logging Project](https://www.owasp.org/index.php/OWASP_Security_Logging_Project). Demonstrates how to log security relevant incidents in a log file. After launching, open the web application in your browser at **http://localhost:8080**.
## session-handling-spring-security
-Session handling demo project based on Spring Boot utilizing [Spring Security](http://projects.spring.io/spring-security)
-and [jasypt-spring-boot](https://github.com/ulisesbocchio/jasypt-spring-boot) to secure [Spring](http://spring.io)
-configuration (property) files. Shows how to restrict access to resources (URLs), how to apply method level security and
-how to securely store and verify passwords. Uses Spring Security for all security related functionality. Requires a
-system property (or environment variable or command line argument) named **jasypt.encryptor.password** with the value
-**session-handling-spring-security** present on startup. After launching, open the web application in your browser at
-**http://localhost:8080**.
+Session handling demo project based on Spring Boot utilizing [Spring Security](http://projects.spring.io/spring-security) and [jasypt-spring-boot](https://github.com/ulisesbocchio/jasypt-spring-boot) to secure [Spring](http://spring.io) configuration (property) files. Shows how to restrict access to resources (URLs), how to apply method level security and how to securely store and verify passwords. Uses Spring Security for all security related functionality. Requires a system property (or environment variable or command line argument) named **jasypt.encryptor.password** with the value **session-handling-spring-security** present on startup. After launching, open the web application in your browser at **http://localhost:8080**.
## session-handling
-Session handling demo project using plain Java. Uses plain Java to create and update the session id after logging in.
-Requires a web server with Servlet 3.1 support. After launching, open the web application in your browser at
-**http://localhost:8080/session-handling**.
+Session handling demo project using plain Java. Uses plain Java to create and update the session id after logging in. Requires a web server with Servlet 3.1 support. After launching, open the web application in your browser at **http://localhost:8080/session-handling**.
## sql-injection
-Spring Boot based web application to experiment with normal (vulnerable) statements, statements with escaped input, and
-prepared statements. After launching, open the web application in your browser at **http://localhost:8080**.
+Spring Boot based web application to experiment with normal (vulnerable) statements, statements with escaped input, and prepared statements. After launching, open the web application in your browser at **http://localhost:8080**.
## xss
-Cross-Site Scripting (XSS) demo project preventing XSS in a JavaServer Pages (JSP) web application by utilizing input
-validation, output escaping with [OWASP Java Encoder](https://www.owasp.org/index.php/OWASP_Java_Encoder_Project) and
-the Content Security Policy (CSP). After launching, open the web application in your
-browser at **http://localhost:8080/xss**.
+Cross-Site Scripting (XSS) demo project preventing XSS in a JavaServer Pages (JSP) web application by utilizing input validation, output escaping with [OWASP Java Encoder](https://www.owasp.org/index.php/OWASP_Java_Encoder_Project) and the Content Security Policy (CSP). After launching, open the web application in your browser at **http://localhost:8080/xss**.
# Command Line Applications in Detail
The following projects demonstrate crypto usage in Java with different libraries. Each project contains one or more **main** methods to start the demo.
@@ -86,12 +59,10 @@ Crypto demo project using Java to hash passwords with different hashing algorith
Crypto demo project using plain Java to encrypt and decrypt data with asymmetric (RSA) and symmetric (AES) algorithms as well as to sign and verify data (DSA).
## crypto-keyczar
-Crypto demo project using [Keyczar](http://www.keyczar.org) to encrypt and decrypt data with asymmetric (RSA) and
-symmetric (AES) algorithms as well as to sign and verify data (DSA).
+Crypto demo project using [Keyczar](http://www.keyczar.org) to encrypt and decrypt data with asymmetric (RSA) and symmetric (AES) algorithms as well as to sign and verify data (DSA).
## crypto-shiro
-Crypto demo project using [Apache Shiro](http://shiro.apache.org) to encrypt and decrypt data with symmetric (AES)
-algorithms as well as hash data (passwords).
+Crypto demo project using [Apache Shiro](http://shiro.apache.org) to encrypt and decrypt data with symmetric (AES) algorithms as well as hash data (passwords).
## crypto-tink
Crypto demo project using [Google Tink](https://github.com/google/tink) to encrypt and decrypt data with asymmetric and hybrid encryption, MAC and digital signatures. Depending on the demo, keys are either generated on the fly or stored/loaded from the keysets directory. The **AWS KMS** samples (classes with AwsKms in their names) require a configured AWS KMS with an enabled master key.
From d29d1da249e5dc960121b742f3bd6e3538801b29 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 10:41:19 +0200
Subject: [PATCH 024/602] added prefix dschadow for docker images
---
pom.xml | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/pom.xml b/pom.xml
index 074dde0e..a5a0523c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -185,6 +185,15 @@
maven-project-info-reports-plugin
3.1.1
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ ${docker.image.prefix}/${project.artifactId}
+
+
+
From ceec36d21c14510075c2a5e94e14ec4426ae0e8a Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 10:41:53 +0200
Subject: [PATCH 025/602] removed version parameter from docker run command
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index cf37682d..3de9341b 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ This repository contains several Java web applications and command line applicat
# Web Applications in Detail
Some web applications contain exercises, some are only there to inspect and learn. Instructions are provided in detail on the start page of each web application.
-Some web applications are based on [Spring Boot](http://projects.spring.io/spring-boot) and can be started via the **main** method in the **Application** class or via **mvn spring-boot:run** in the project directory. Spring Boot projects can be launched via `docker run -p 8080:8080 dschadow/[PROJECT]:[VERSION]` after the image has been created using `mvn spring-boot:build-image`. The other web applications either contain an embedded **Tomcat7 Maven plugin** which can be started via **mvn tomcat7:run-war**, or an embedded **Jetty Maven plugin** which can be started via **mvn jetty:run-war**.
+Some web applications are based on [Spring Boot](http://projects.spring.io/spring-boot) and can be started via the **main** method in the **Application** class or via **mvn spring-boot:run** in the project directory. Spring Boot projects can be launched via `docker run -p 8080:8080 dschadow/[PROJECT]` after the image has been created using `mvn spring-boot:build-image`. The other web applications either contain an embedded **Tomcat7 Maven plugin** which can be started via **mvn tomcat7:run-war**, or an embedded **Jetty Maven plugin** which can be started via **mvn jetty:run-war**.
## access-control-spring-security
Access control demo project utilizing [Spring Security](http://projects.spring.io/spring-security) in a Spring Boot application. Shows how to safely load user data from a database without using potentially faked frontend values. After launching, open the web application in your browser at **http://localhost:8080**.
From 30e5dd349e32d6caf51b52b7ec39c2cd8445c756 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 12:54:35 +0200
Subject: [PATCH 026/602] updated Javadoc
---
.../main/java/de/dominikschadow/javasecurity/Application.java | 2 +-
.../dominikschadow/javasecurity/config/WebSecurityConfig.java | 2 +-
.../java/de/dominikschadow/javasecurity/contacts/Contact.java | 2 +-
.../dominikschadow/javasecurity/contacts/ContactController.java | 2 +-
.../de/dominikschadow/javasecurity/contacts/ContactService.java | 2 +-
.../src/main/java/de/dominikschadow/javasecurity/hash/MD5.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/hash/SHA512.java | 2 +-
.../java/de/dominikschadow/javasecurity/asymmetric/DSA.java | 2 +-
.../java/de/dominikschadow/javasecurity/asymmetric/RSA.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/symmetric/AES.java | 2 +-
.../java/de/dominikschadow/javasecurity/asymmetric/DSA.java | 2 +-
.../java/de/dominikschadow/javasecurity/asymmetric/RSA.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/symmetric/AES.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/hash/SHA512.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/symmetric/AES.java | 2 +-
.../java/de/dominikschadow/javasecurity/tink/TinkUtils.java | 2 +-
.../javasecurity/tink/aead/AesEaxWithGeneratedKey.java | 2 +-
.../javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java | 2 +-
.../javasecurity/tink/aead/AesGcmWithSavedKey.java | 2 +-
.../javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java | 2 +-
.../javasecurity/tink/hybrid/EciesWithGeneratedKey.java | 2 +-
.../tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java | 2 +-
.../javasecurity/tink/hybrid/EciesWithSavedKey.java | 2 +-
.../javasecurity/tink/mac/HmcShaWithGeneratedKey.java | 2 +-
.../javasecurity/tink/mac/HmcShaWithSavedKey.java | 2 +-
.../javasecurity/tink/signature/EcdsaWithGeneratedKey.java | 2 +-
.../javasecurity/tink/signature/EcdsaWithSavedKey.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/Application.java | 2 +-
.../dominikschadow/javasecurity/config/WebSecurityConfig.java | 2 +-
.../java/de/dominikschadow/javasecurity/greetings/Greeting.java | 2 +-
.../javasecurity/greetings/GreetingController.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/Application.java | 2 +-
.../javasecurity/csrf/config/WebSecurityConfig.java | 2 +-
.../dominikschadow/javasecurity/csrf/home/IndexController.java | 2 +-
.../java/de/dominikschadow/javasecurity/csrf/orders/Order.java | 2 +-
.../javasecurity/csrf/orders/OrderController.java | 2 +-
.../javasecurity/csrf/home/IndexControllerTest.java | 2 +-
.../javasecurity/csrf/orders/OrderControllerTest.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/Application.java | 2 +-
.../de/dominikschadow/javasecurity/home/IndexController.java | 2 +-
.../de/dominikschadow/javasecurity/home/ResourceService.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/Application.java | 2 +-
.../java/de/dominikschadow/javasecurity/tasks/FirstTask.java | 2 +-
.../javasecurity/tasks/InterceptMeController.java | 2 +-
.../java/de/dominikschadow/javasecurity/ApplicationTest.java | 2 +-
.../javasecurity/tasks/InterceptMeControllerTest.java | 2 +-
.../dominikschadow/javasecurity/header/filter/CSP2Filter.java | 2 +-
.../de/dominikschadow/javasecurity/header/filter/CSPFilter.java | 2 +-
.../javasecurity/header/filter/CSPReportingFilter.java | 2 +-
.../javasecurity/header/filter/CacheControlFilter.java | 2 +-
.../dominikschadow/javasecurity/header/filter/HSTSFilter.java | 2 +-
.../javasecurity/header/filter/XContentTypeOptionsFilter.java | 2 +-
.../javasecurity/header/filter/XFrameOptionsFilter.java | 2 +-
.../javasecurity/header/filter/XXSSProtectionFilter.java | 2 +-
.../javasecurity/header/servlets/CSPReporting.java | 2 +-
.../javasecurity/header/servlets/FakeServlet.java | 2 +-
.../javasecurity/header/servlets/LoginServlet.java | 2 +-
.../de/dominikschadow/javasecurity/logging/Application.java | 2 +-
.../javasecurity/logging/home/HomeController.java | 2 +-
.../de/dominikschadow/javasecurity/serialize/Deserializer.java | 2 +-
.../de/dominikschadow/javasecurity/serialize/SerializeMe.java | 2 +-
.../de/dominikschadow/javasecurity/serialize/Serializer.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/Application.java | 2 +-
.../javasecurity/sessionhandling/config/WebSecurityConfig.java | 2 +-
.../sessionhandling/greetings/GreetingController.java | 2 +-
.../javasecurity/sessionhandling/greetings/GreetingService.java | 2 +-
.../sessionhandling/greetings/GreetingServiceImpl.java | 2 +-
.../javasecurity/sessionhandling/servlets/LoginServlet.java | 2 +-
.../main/java/de/dominikschadow/javasecurity/Application.java | 2 +-
.../java/de/dominikschadow/javasecurity/queries/Customer.java | 2 +-
.../dominikschadow/javasecurity/queries/CustomerRowMapper.java | 2 +-
.../de/dominikschadow/javasecurity/queries/EscapedQuery.java | 2 +-
.../de/dominikschadow/javasecurity/queries/PlainSqlQuery.java | 2 +-
.../javasecurity/queries/PreparedStatementQuery.java | 2 +-
.../de/dominikschadow/javasecurity/queries/QueryController.java | 2 +-
.../java/de/dominikschadow/javasecurity/xss/CSPServlet.java | 2 +-
.../dominikschadow/javasecurity/xss/InputValidatedServlet.java | 2 +-
.../dominikschadow/javasecurity/xss/OutputEscapedServlet.java | 2 +-
.../de/dominikschadow/javasecurity/xss/UnprotectedServlet.java | 2 +-
80 files changed, 80 insertions(+), 80 deletions(-)
diff --git a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
index 4286129c..e6826888 100644
--- a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
+++ b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/config/WebSecurityConfig.java b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/config/WebSecurityConfig.java
index 1a7b191c..2b0d241a 100755
--- a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/config/WebSecurityConfig.java
+++ b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/config/WebSecurityConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/Contact.java b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/Contact.java
index 5049385a..58b6443a 100644
--- a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/Contact.java
+++ b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/Contact.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactController.java b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactController.java
index 4d9f161c..dabac5e3 100644
--- a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactController.java
+++ b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
index 6e55d4fb..7503e159 100644
--- a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
+++ b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/MD5.java b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/MD5.java
index 17142353..df8a43c2 100644
--- a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/MD5.java
+++ b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/MD5.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java
index c1605de7..d0d6ce6f 100644
--- a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java
+++ b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
index b5ff9cee..366739e1 100644
--- a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
+++ b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java b/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
index e7aee6c2..8326111d 100644
--- a/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
+++ b/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java b/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
index 446715f5..8382f3a6 100644
--- a/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
+++ b/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-java/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java b/crypto-java/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
index d08b6585..8c41ee71 100644
--- a/crypto-java/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
+++ b/crypto-java/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
index 3db94a8b..c7e161ed 100644
--- a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
+++ b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
index 70c42490..2d0baaae 100644
--- a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
+++ b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
index 8b997521..123f9b59 100644
--- a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
+++ b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java b/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
index eb7e00d6..f8974a0d 100644
--- a/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
+++ b/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java b/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
index 7cff6fb9..65526ecf 100644
--- a/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
+++ b/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
index 196d939b..467030d1 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
index ba6853d2..a14976bc 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index 053eaa01..c47c7a7f 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
index 63afe490..aa30e712 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
index dd81d837..df73aad9 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
index 88aafe30..4ab3fd9f 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
index 4b74609e..1a50ddcc 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
index 8e2a28b7..d765813d 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java
index f1a20ab0..23233f64 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java
index 18306215..514f12d9 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
index ad21c7fe..f14da757 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
index b859f549..cdf85292 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
index 83304fe1..36cc31d9 100644
--- a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
+++ b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/config/WebSecurityConfig.java b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/config/WebSecurityConfig.java
index c74169c4..8913646b 100644
--- a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/config/WebSecurityConfig.java
+++ b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/config/WebSecurityConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/Greeting.java b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/Greeting.java
index 6b777765..7f070bd7 100644
--- a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/Greeting.java
+++ b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/Greeting.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/GreetingController.java b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/GreetingController.java
index b8766eaa..62d9b21d 100644
--- a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/GreetingController.java
+++ b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/GreetingController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
index 42b7c00f..c1fe8116 100644
--- a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
+++ b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/config/WebSecurityConfig.java b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/config/WebSecurityConfig.java
index 08b36493..e45d5c20 100644
--- a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/config/WebSecurityConfig.java
+++ b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/config/WebSecurityConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/home/IndexController.java b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/home/IndexController.java
index 23bca64f..c05e0bd1 100644
--- a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/home/IndexController.java
+++ b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/home/IndexController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/Order.java b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/Order.java
index 0498d011..d4f0178e 100644
--- a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/Order.java
+++ b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/Order.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/OrderController.java b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/OrderController.java
index 759ff244..6a213897 100644
--- a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/OrderController.java
+++ b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/OrderController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/home/IndexControllerTest.java b/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/home/IndexControllerTest.java
index 8105d95f..f402e65c 100644
--- a/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/home/IndexControllerTest.java
+++ b/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/home/IndexControllerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/orders/OrderControllerTest.java b/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/orders/OrderControllerTest.java
index c2e0a622..3dad954e 100644
--- a/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/orders/OrderControllerTest.java
+++ b/csrf-spring-security/src/test/java/de/dominikschadow/javasecurity/csrf/orders/OrderControllerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/direct-object-references/src/main/java/de/dominikschadow/javasecurity/Application.java b/direct-object-references/src/main/java/de/dominikschadow/javasecurity/Application.java
index 83304fe1..36cc31d9 100644
--- a/direct-object-references/src/main/java/de/dominikschadow/javasecurity/Application.java
+++ b/direct-object-references/src/main/java/de/dominikschadow/javasecurity/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/direct-object-references/src/main/java/de/dominikschadow/javasecurity/home/IndexController.java b/direct-object-references/src/main/java/de/dominikschadow/javasecurity/home/IndexController.java
index a9793b80..dd7b09f2 100644
--- a/direct-object-references/src/main/java/de/dominikschadow/javasecurity/home/IndexController.java
+++ b/direct-object-references/src/main/java/de/dominikschadow/javasecurity/home/IndexController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/direct-object-references/src/main/java/de/dominikschadow/javasecurity/home/ResourceService.java b/direct-object-references/src/main/java/de/dominikschadow/javasecurity/home/ResourceService.java
index 5fe4c5b7..cf07c29b 100644
--- a/direct-object-references/src/main/java/de/dominikschadow/javasecurity/home/ResourceService.java
+++ b/direct-object-references/src/main/java/de/dominikschadow/javasecurity/home/ResourceService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/intercept-me/src/main/java/de/dominikschadow/javasecurity/Application.java b/intercept-me/src/main/java/de/dominikschadow/javasecurity/Application.java
index 83304fe1..36cc31d9 100644
--- a/intercept-me/src/main/java/de/dominikschadow/javasecurity/Application.java
+++ b/intercept-me/src/main/java/de/dominikschadow/javasecurity/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/FirstTask.java b/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/FirstTask.java
index 9c9aac47..d2026301 100644
--- a/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/FirstTask.java
+++ b/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/FirstTask.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/InterceptMeController.java b/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/InterceptMeController.java
index df932707..ad6b36e1 100644
--- a/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/InterceptMeController.java
+++ b/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/InterceptMeController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/intercept-me/src/test/java/de/dominikschadow/javasecurity/ApplicationTest.java b/intercept-me/src/test/java/de/dominikschadow/javasecurity/ApplicationTest.java
index ba15a05f..0d653844 100644
--- a/intercept-me/src/test/java/de/dominikschadow/javasecurity/ApplicationTest.java
+++ b/intercept-me/src/test/java/de/dominikschadow/javasecurity/ApplicationTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/intercept-me/src/test/java/de/dominikschadow/javasecurity/tasks/InterceptMeControllerTest.java b/intercept-me/src/test/java/de/dominikschadow/javasecurity/tasks/InterceptMeControllerTest.java
index 95c51fee..ff665d50 100644
--- a/intercept-me/src/test/java/de/dominikschadow/javasecurity/tasks/InterceptMeControllerTest.java
+++ b/intercept-me/src/test/java/de/dominikschadow/javasecurity/tasks/InterceptMeControllerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSP2Filter.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSP2Filter.java
index 3f9aabaf..5308bfa5 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSP2Filter.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSP2Filter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSPFilter.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSPFilter.java
index 6ff1f365..6be47c73 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSPFilter.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSPFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSPReportingFilter.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSPReportingFilter.java
index 5955881a..0346cb52 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSPReportingFilter.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CSPReportingFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CacheControlFilter.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CacheControlFilter.java
index ef89b176..fc5a2367 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CacheControlFilter.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/CacheControlFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/HSTSFilter.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/HSTSFilter.java
index ad9e22ac..82766b24 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/HSTSFilter.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/HSTSFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XContentTypeOptionsFilter.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XContentTypeOptionsFilter.java
index 29680c8f..afd21745 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XContentTypeOptionsFilter.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XContentTypeOptionsFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XFrameOptionsFilter.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XFrameOptionsFilter.java
index c4dd1d40..0ab72919 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XFrameOptionsFilter.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XFrameOptionsFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XXSSProtectionFilter.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XXSSProtectionFilter.java
index a04736c2..26b45c53 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XXSSProtectionFilter.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/filter/XXSSProtectionFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/CSPReporting.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/CSPReporting.java
index 2fe004ea..af844491 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/CSPReporting.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/CSPReporting.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/FakeServlet.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/FakeServlet.java
index c834c511..d3cf1e81 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/FakeServlet.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/FakeServlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/LoginServlet.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/LoginServlet.java
index 8adda2cb..d3bd2c01 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/LoginServlet.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/LoginServlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/Application.java b/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/Application.java
index fcadf02f..1e24aaef 100644
--- a/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/Application.java
+++ b/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/HomeController.java b/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/HomeController.java
index 2ae9585b..dadc82fa 100644
--- a/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/HomeController.java
+++ b/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/HomeController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Deserializer.java b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Deserializer.java
index f5201f2f..69e7cf1f 100644
--- a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Deserializer.java
+++ b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Deserializer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/SerializeMe.java b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/SerializeMe.java
index 958e6308..7f9a1ebb 100644
--- a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/SerializeMe.java
+++ b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/SerializeMe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Serializer.java b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Serializer.java
index a85e7004..a2da1ad4 100644
--- a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Serializer.java
+++ b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Serializer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
index 4286129c..e6826888 100644
--- a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
+++ b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/config/WebSecurityConfig.java b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/config/WebSecurityConfig.java
index 4d7bff66..80c0f0f0 100755
--- a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/config/WebSecurityConfig.java
+++ b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/config/WebSecurityConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingController.java b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingController.java
index 5ab136fa..9c52a32b 100644
--- a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingController.java
+++ b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingService.java b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingService.java
index 166e263b..d14080a8 100644
--- a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingService.java
+++ b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingServiceImpl.java b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingServiceImpl.java
index 981bc37f..47505a50 100644
--- a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingServiceImpl.java
+++ b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/greetings/GreetingServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/session-handling/src/main/java/de/dominikschadow/javasecurity/sessionhandling/servlets/LoginServlet.java b/session-handling/src/main/java/de/dominikschadow/javasecurity/sessionhandling/servlets/LoginServlet.java
index df6697ea..5bee0994 100644
--- a/session-handling/src/main/java/de/dominikschadow/javasecurity/sessionhandling/servlets/LoginServlet.java
+++ b/session-handling/src/main/java/de/dominikschadow/javasecurity/sessionhandling/servlets/LoginServlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/sql-injection/src/main/java/de/dominikschadow/javasecurity/Application.java b/sql-injection/src/main/java/de/dominikschadow/javasecurity/Application.java
index 83304fe1..36cc31d9 100644
--- a/sql-injection/src/main/java/de/dominikschadow/javasecurity/Application.java
+++ b/sql-injection/src/main/java/de/dominikschadow/javasecurity/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/Customer.java b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/Customer.java
index fc74014a..942378f3 100644
--- a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/Customer.java
+++ b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/Customer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/CustomerRowMapper.java b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/CustomerRowMapper.java
index e7751af8..9d833463 100644
--- a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/CustomerRowMapper.java
+++ b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/CustomerRowMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/EscapedQuery.java b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/EscapedQuery.java
index cf4fd737..ab2e4e70 100644
--- a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/EscapedQuery.java
+++ b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/EscapedQuery.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/PlainSqlQuery.java b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/PlainSqlQuery.java
index c351ea93..49097812 100644
--- a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/PlainSqlQuery.java
+++ b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/PlainSqlQuery.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/PreparedStatementQuery.java b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/PreparedStatementQuery.java
index f41acd0e..4bc32516 100644
--- a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/PreparedStatementQuery.java
+++ b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/PreparedStatementQuery.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/QueryController.java b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/QueryController.java
index e348f411..da448249 100644
--- a/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/QueryController.java
+++ b/sql-injection/src/main/java/de/dominikschadow/javasecurity/queries/QueryController.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/xss/src/main/java/de/dominikschadow/javasecurity/xss/CSPServlet.java b/xss/src/main/java/de/dominikschadow/javasecurity/xss/CSPServlet.java
index 5987e0da..aa4a6879 100644
--- a/xss/src/main/java/de/dominikschadow/javasecurity/xss/CSPServlet.java
+++ b/xss/src/main/java/de/dominikschadow/javasecurity/xss/CSPServlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/xss/src/main/java/de/dominikschadow/javasecurity/xss/InputValidatedServlet.java b/xss/src/main/java/de/dominikschadow/javasecurity/xss/InputValidatedServlet.java
index 5f900292..c2474d36 100644
--- a/xss/src/main/java/de/dominikschadow/javasecurity/xss/InputValidatedServlet.java
+++ b/xss/src/main/java/de/dominikschadow/javasecurity/xss/InputValidatedServlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/xss/src/main/java/de/dominikschadow/javasecurity/xss/OutputEscapedServlet.java b/xss/src/main/java/de/dominikschadow/javasecurity/xss/OutputEscapedServlet.java
index 083ddbae..a8d3624f 100644
--- a/xss/src/main/java/de/dominikschadow/javasecurity/xss/OutputEscapedServlet.java
+++ b/xss/src/main/java/de/dominikschadow/javasecurity/xss/OutputEscapedServlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
diff --git a/xss/src/main/java/de/dominikschadow/javasecurity/xss/UnprotectedServlet.java b/xss/src/main/java/de/dominikschadow/javasecurity/xss/UnprotectedServlet.java
index 798a0684..31d78a7d 100644
--- a/xss/src/main/java/de/dominikschadow/javasecurity/xss/UnprotectedServlet.java
+++ b/xss/src/main/java/de/dominikschadow/javasecurity/xss/UnprotectedServlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 Dominik Schadow, dominikschadow@gmail.com
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
*
* This file is part of the Java Security project.
*
From 1b69f863ad80209ad39ec2923d2911ba8791bc17 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 13:05:23 +0200
Subject: [PATCH 027/602] removed Java 11 dependencies
---
pom.xml | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/pom.xml b/pom.xml
index a5a0523c..0e8789f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -138,27 +138,6 @@
bootstrap
4.6.0
-
-
- javax.xml.bind
- jaxb-api
- 2.3.1
-
-
- com.sun.xml.bind
- jaxb-core
- 2.3.0.1
-
-
- com.sun.xml.bind
- jaxb-impl
- 2.3.2
-
-
- javax.activation
- activation
- 1.1.1
-
From 062bfa9d1408f3ce0cdecc571af65fefcaa527ab Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 13:06:01 +0200
Subject: [PATCH 028/602] Updated Bootstrap to 4.6.0-1
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 0e8789f8..db0a7ac4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -136,7 +136,7 @@
org.webjars
bootstrap
- 4.6.0
+ 4.6.0-1
From 05d1ffae758c3566a1e8b01d048068422191cc59 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 13:08:40 +0200
Subject: [PATCH 029/602] Updated project version to 3.1.2
---
access-control-spring-security/pom.xml | 2 +-
crypto-hash/pom.xml | 2 +-
crypto-java/pom.xml | 2 +-
crypto-keyczar/pom.xml | 2 +-
crypto-shiro/pom.xml | 2 +-
crypto-tink/pom.xml | 2 +-
csp-spring-security/pom.xml | 2 +-
csrf-spring-security/pom.xml | 2 +-
csrf/pom.xml | 2 +-
direct-object-references/pom.xml | 2 +-
intercept-me/pom.xml | 2 +-
pom.xml | 2 +-
security-header/pom.xml | 2 +-
security-logging/pom.xml | 2 +-
serialize-me/pom.xml | 2 +-
session-handling-spring-security/pom.xml | 2 +-
session-handling/pom.xml | 2 +-
sql-injection/pom.xml | 2 +-
xss/pom.xml | 2 +-
19 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/access-control-spring-security/pom.xml b/access-control-spring-security/pom.xml
index 5c968a18..80ab0753 100644
--- a/access-control-spring-security/pom.xml
+++ b/access-control-spring-security/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
access-control-spring-security
diff --git a/crypto-hash/pom.xml b/crypto-hash/pom.xml
index 68f45be4..d65e1540 100644
--- a/crypto-hash/pom.xml
+++ b/crypto-hash/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
crypto-hash
diff --git a/crypto-java/pom.xml b/crypto-java/pom.xml
index 261ae508..f779ad1d 100644
--- a/crypto-java/pom.xml
+++ b/crypto-java/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
crypto-java
diff --git a/crypto-keyczar/pom.xml b/crypto-keyczar/pom.xml
index 13c42bee..bee33c5b 100644
--- a/crypto-keyczar/pom.xml
+++ b/crypto-keyczar/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
crypto-keyczar
diff --git a/crypto-shiro/pom.xml b/crypto-shiro/pom.xml
index 7fc8ab9b..3de03c40 100644
--- a/crypto-shiro/pom.xml
+++ b/crypto-shiro/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
crypto-shiro
diff --git a/crypto-tink/pom.xml b/crypto-tink/pom.xml
index 7a0433b7..7e848570 100644
--- a/crypto-tink/pom.xml
+++ b/crypto-tink/pom.xml
@@ -5,7 +5,7 @@
javasecurity
de.dominikschadow.javasecurity
- 3.1.1
+ 3.1.2
4.0.0
crypto-tink
diff --git a/csp-spring-security/pom.xml b/csp-spring-security/pom.xml
index 2c326c71..29d38a72 100644
--- a/csp-spring-security/pom.xml
+++ b/csp-spring-security/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
csp-spring-security
diff --git a/csrf-spring-security/pom.xml b/csrf-spring-security/pom.xml
index b3721e44..167b0be4 100644
--- a/csrf-spring-security/pom.xml
+++ b/csrf-spring-security/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
csrf-spring-security
diff --git a/csrf/pom.xml b/csrf/pom.xml
index b53847e5..7b2fb84d 100644
--- a/csrf/pom.xml
+++ b/csrf/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
csrf
diff --git a/direct-object-references/pom.xml b/direct-object-references/pom.xml
index 026f9917..ceb8d834 100644
--- a/direct-object-references/pom.xml
+++ b/direct-object-references/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
direct-object-references
diff --git a/intercept-me/pom.xml b/intercept-me/pom.xml
index 9bdcddbb..816fa29c 100644
--- a/intercept-me/pom.xml
+++ b/intercept-me/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
intercept-me
diff --git a/pom.xml b/pom.xml
index db0a7ac4..7cd05434 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
javasecurity
de.dominikschadow.javasecurity
- 3.1.1
+ 3.1.2
pom
Java Security
https://github.com/dschadow/JavaSecurity
diff --git a/security-header/pom.xml b/security-header/pom.xml
index 5da0a32f..5c42acc6 100644
--- a/security-header/pom.xml
+++ b/security-header/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
security-header
diff --git a/security-logging/pom.xml b/security-logging/pom.xml
index d0d8fee2..02b1d834 100644
--- a/security-logging/pom.xml
+++ b/security-logging/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
security-logging
diff --git a/serialize-me/pom.xml b/serialize-me/pom.xml
index 933a3d5d..df6253c9 100644
--- a/serialize-me/pom.xml
+++ b/serialize-me/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
serialize-me
diff --git a/session-handling-spring-security/pom.xml b/session-handling-spring-security/pom.xml
index cb9137b5..a478e8ee 100755
--- a/session-handling-spring-security/pom.xml
+++ b/session-handling-spring-security/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
session-handling-spring-security
diff --git a/session-handling/pom.xml b/session-handling/pom.xml
index de6a50c3..fd46775e 100644
--- a/session-handling/pom.xml
+++ b/session-handling/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
session-handling
diff --git a/sql-injection/pom.xml b/sql-injection/pom.xml
index 7468d1dc..dec586bd 100644
--- a/sql-injection/pom.xml
+++ b/sql-injection/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
sql-injection
diff --git a/xss/pom.xml b/xss/pom.xml
index 713855de..88f2df8c 100644
--- a/xss/pom.xml
+++ b/xss/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.1
+ 3.1.2
4.0.0
xss
From ced966434c296d021d692b419463361ded539f68 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 13:35:23 +0200
Subject: [PATCH 030/602] replaced deprecated methods
---
.../tink/aead/AesEaxWithGeneratedKey.java | 4 ++--
.../tink/aead/AesGcmWithAwsKmsSavedKey.java | 4 ++--
.../tink/aead/AesGcmWithSavedKey.java | 4 ++--
.../tink/hybrid/EciesWithAwsKmsSavedKey.java | 4 ++--
.../tink/hybrid/EciesWithGeneratedKey.java | 4 ++--
.../EciesWithGeneratedKeyAndKeyRotation.java | 24 +++++++++----------
.../tink/hybrid/EciesWithSavedKey.java | 4 ++--
.../tink/mac/HmcShaWithGeneratedKey.java | 4 ++--
.../tink/mac/HmcShaWithSavedKey.java | 4 ++--
.../tink/signature/EcdsaWithGeneratedKey.java | 4 ++--
.../tink/signature/EcdsaWithSavedKey.java | 4 ++--
11 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
index a14976bc..210077bf 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
@@ -20,7 +20,7 @@
import com.google.crypto.tink.Aead;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.aead.AeadConfig;
-import com.google.crypto.tink.aead.AeadKeyTemplates;
+import com.google.crypto.tink.aead.AesEaxKeyManager;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,7 +65,7 @@ public static void main(String[] args) {
}
private KeysetHandle generateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(AeadKeyTemplates.AES256_EAX);
+ return KeysetHandle.generateNew(AesEaxKeyManager.aes256EaxTemplate());
}
private byte[] encrypt(KeysetHandle keysetHandle) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index c47c7a7f..8e8f347c 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -22,7 +22,7 @@
import com.google.crypto.tink.JsonKeysetWriter;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.aead.AeadConfig;
-import com.google.crypto.tink.aead.AeadKeyTemplates;
+import com.google.crypto.tink.aead.AesGcmKeyManager;
import com.google.crypto.tink.integration.awskms.AwsKmsClient;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
@@ -92,7 +92,7 @@ private void generateAndStoreKey() throws IOException, GeneralSecurityException
File keysetFile = new File(KEYSET_FILENAME);
if (!keysetFile.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(AeadKeyTemplates.AES128_GCM);
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(AesGcmKeyManager.aes128GcmTemplate());
keysetHandle.write(JsonKeysetWriter.withFile(keysetFile), new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
index aa30e712..0e380350 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
@@ -19,7 +19,7 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.aead.AeadConfig;
-import com.google.crypto.tink.aead.AeadKeyTemplates;
+import com.google.crypto.tink.aead.AesGcmKeyManager;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -80,7 +80,7 @@ private void generateAndStoreKey() throws IOException, GeneralSecurityException
File keysetFile = new File(KEYSET_FILENAME);
if (!keysetFile.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(AeadKeyTemplates.AES128_GCM);
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(AesGcmKeyManager.aes128GcmTemplate());
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
index df73aad9..bbd5762f 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
@@ -18,8 +18,8 @@
package de.dominikschadow.javasecurity.tink.hybrid;
import com.google.crypto.tink.*;
+import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
-import com.google.crypto.tink.hybrid.HybridKeyTemplates;
import com.google.crypto.tink.integration.awskms.AwsKmsClient;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
@@ -92,7 +92,7 @@ private void generateAndStorePrivateKey() throws IOException, GeneralSecurityExc
File keysetFile = new File(PRIVATE_KEYSET_FILENAME);
if (!keysetFile.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(HybridKeyTemplates.ECIES_P256_HKDF_HMAC_SHA256_AES128_GCM);
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
keysetHandle.write(JsonKeysetWriter.withFile(keysetFile), new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
index 4ab3fd9f..6334b09c 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
@@ -20,8 +20,8 @@
import com.google.crypto.tink.HybridDecrypt;
import com.google.crypto.tink.HybridEncrypt;
import com.google.crypto.tink.KeysetHandle;
+import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
-import com.google.crypto.tink.hybrid.HybridKeyTemplates;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -67,7 +67,7 @@ public static void main(String[] args) {
}
private KeysetHandle generatePrivateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(HybridKeyTemplates.ECIES_P256_HKDF_HMAC_SHA256_AES128_CTR_HMAC_SHA256);
+ return KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128CtrHmacSha256Template());
}
private KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
index 1a50ddcc..3ddba029 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
@@ -21,8 +21,8 @@
import com.google.crypto.tink.HybridEncrypt;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.KeysetManager;
+import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
-import com.google.crypto.tink.hybrid.HybridKeyTemplates;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,18 +55,18 @@ public static void main(String[] args) {
EciesWithGeneratedKeyAndKeyRotation demo = new EciesWithGeneratedKeyAndKeyRotation();
try {
- KeysetHandle privateKeysetHandle = demo.generatePrivateKey();
- TinkUtils.printKeyset("original keyset data", privateKeysetHandle);
- KeysetHandle rotatedPrivateKeysetHandle = demo.rotateKey(privateKeysetHandle);
- TinkUtils.printKeyset("rotated keyset data", rotatedPrivateKeysetHandle);
- rotatedPrivateKeysetHandle = demo.disableOriginalKey(rotatedPrivateKeysetHandle);
- TinkUtils.printKeyset("disabled rotated keyset data", rotatedPrivateKeysetHandle);
- KeysetHandle publicKeysetHandle = demo.generatePublicKey(rotatedPrivateKeysetHandle);
+ KeysetHandle originalKey = demo.generatePrivateKey();
+ TinkUtils.printKeyset("original keyset data", originalKey);
+ KeysetHandle rotatedKey = demo.rotateKey(originalKey);
+ TinkUtils.printKeyset("rotated keyset data", rotatedKey);
+ rotatedKey = demo.disableOriginalKey(rotatedKey);
+ TinkUtils.printKeyset("disabled rotated keyset data", rotatedKey);
+ KeysetHandle publicKeysetHandle = demo.generatePublicKey(rotatedKey);
byte[] cipherText = demo.encrypt(publicKeysetHandle);
- byte[] plainText = demo.decrypt(rotatedPrivateKeysetHandle, cipherText);
+ byte[] plainText = demo.decrypt(rotatedKey, cipherText);
- TinkUtils.printHybridEncryptionData(rotatedPrivateKeysetHandle, publicKeysetHandle, INITIAL_TEXT, cipherText, plainText);
+ TinkUtils.printHybridEncryptionData(rotatedKey, publicKeysetHandle, INITIAL_TEXT, cipherText, plainText);
} catch (GeneralSecurityException ex) {
log.error("Failure during Tink usage", ex);
}
@@ -76,7 +76,7 @@ public static void main(String[] args) {
* Generate a new key with different ECIES properties and add it to the keyset.
*/
private KeysetHandle rotateKey(KeysetHandle keysetHandle) throws GeneralSecurityException {
- return KeysetManager.withKeysetHandle(keysetHandle).rotate(HybridKeyTemplates.ECIES_P256_HKDF_HMAC_SHA256_AES128_CTR_HMAC_SHA256).getKeysetHandle();
+ return KeysetManager.withKeysetHandle(keysetHandle).add(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128CtrHmacSha256Template()).getKeysetHandle();
}
/**
@@ -87,7 +87,7 @@ private KeysetHandle disableOriginalKey(KeysetHandle keysetHandle) throws Genera
}
private KeysetHandle generatePrivateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(HybridKeyTemplates.ECIES_P256_HKDF_HMAC_SHA256_AES128_GCM);
+ return KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
}
private KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
index d765813d..9fa3cfc4 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
@@ -18,8 +18,8 @@
package de.dominikschadow.javasecurity.tink.hybrid;
import com.google.crypto.tink.*;
+import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
-import com.google.crypto.tink.hybrid.HybridKeyTemplates;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -83,7 +83,7 @@ private void generateAndStorePrivateKey() throws IOException, GeneralSecurityExc
File keysetFile = new File(PRIVATE_KEYSET_FILENAME);
if (!keysetFile.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(HybridKeyTemplates.ECIES_P256_HKDF_HMAC_SHA256_AES128_GCM);
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java
index 23233f64..68112c0c 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java
@@ -19,8 +19,8 @@
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.Mac;
+import com.google.crypto.tink.mac.HmacKeyManager;
import com.google.crypto.tink.mac.MacConfig;
-import com.google.crypto.tink.mac.MacKeyTemplates;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -82,6 +82,6 @@ private boolean verifyMac(KeysetHandle keysetHandle, byte[] tag) {
}
private KeysetHandle generateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(MacKeyTemplates.HMAC_SHA256_128BITTAG);
+ return KeysetHandle.generateNew(HmacKeyManager.hmacSha256HalfDigestTemplate());
}
}
\ No newline at end of file
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java
index 514f12d9..532d652b 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java
@@ -18,8 +18,8 @@
package de.dominikschadow.javasecurity.tink.mac;
import com.google.crypto.tink.*;
+import com.google.crypto.tink.mac.HmacKeyManager;
import com.google.crypto.tink.mac.MacConfig;
-import com.google.crypto.tink.mac.MacKeyTemplates;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -79,7 +79,7 @@ private void generateAndStoreKey() throws IOException, GeneralSecurityException
File keysetFile = new File(KEYSET_FILENAME);
if (!keysetFile.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(MacKeyTemplates.HMAC_SHA256_128BITTAG);
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(HmacKeyManager.hmacSha256HalfDigestTemplate());
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
index f14da757..01ba2262 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
@@ -20,8 +20,8 @@
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.PublicKeySign;
import com.google.crypto.tink.PublicKeyVerify;
+import com.google.crypto.tink.signature.EcdsaSignKeyManager;
import com.google.crypto.tink.signature.SignatureConfig;
-import com.google.crypto.tink.signature.SignatureKeyTemplates;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -66,7 +66,7 @@ public static void main(String[] args) {
}
private KeysetHandle generatePrivateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(SignatureKeyTemplates.ECDSA_P384);
+ return KeysetHandle.generateNew(EcdsaSignKeyManager.ecdsaP256Template());
}
private KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
index cdf85292..d913bcf6 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
@@ -18,8 +18,8 @@
package de.dominikschadow.javasecurity.tink.signature;
import com.google.crypto.tink.*;
+import com.google.crypto.tink.signature.EcdsaSignKeyManager;
import com.google.crypto.tink.signature.SignatureConfig;
-import com.google.crypto.tink.signature.SignatureKeyTemplates;
import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -82,7 +82,7 @@ private void generateAndStorePrivateKey() throws IOException, GeneralSecurityExc
File keysetFile = new File(PRIVATE_KEYSET_FILENAME);
if (!keysetFile.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(SignatureKeyTemplates.ECDSA_P256);
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(EcdsaSignKeyManager.ecdsaP256Template());
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
}
}
From 705afb127dbcb714aab4201d59ba48803479506f Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 13:36:41 +0200
Subject: [PATCH 031/602] improved conversion
---
.../java/de/dominikschadow/javasecurity/tink/TinkUtils.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
index 467030d1..10f97b09 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
@@ -41,7 +41,7 @@ public static void printKeyset(String type, KeysetHandle keysetHandle) {
try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withOutputStream(outputStream));
- log.info("{}: {}", type, new String(outputStream.toByteArray()));
+ log.info("{}: {}", type, outputStream.toString());
} catch (IOException ex) {
log.error("Failed to write keyset", ex);
}
From 66b02e14ff0726b5910ebc5ff8daf13062064cb1 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 13:38:21 +0200
Subject: [PATCH 032/602] replaced deprecated methods
---
.../de/dominikschadow/javasecurity/contacts/ContactService.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
index 7503e159..ed1d68b5 100644
--- a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
+++ b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
@@ -44,7 +44,7 @@ public ContactService(JdbcTemplate jdbcTemplate) {
@PostAuthorize("returnObject.username == principal.username")
Contact getContact(int contactId) {
return jdbcTemplate.queryForObject("SELECT * FROM contacts WHERE id = ?",
- new Object[]{contactId}, (rs, rowNum) -> createContact(rs));
+ (rs, rowNum) -> createContact(rs), new Object[]{contactId});
}
/**
From 1d42b0b5fa697e822ad68458e208d1bba76bf201 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 13:39:47 +0200
Subject: [PATCH 033/602] replaced deprecated methods
---
.../de/dominikschadow/javasecurity/contacts/ContactService.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
index ed1d68b5..b74cf471 100644
--- a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
+++ b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
@@ -44,7 +44,7 @@ public ContactService(JdbcTemplate jdbcTemplate) {
@PostAuthorize("returnObject.username == principal.username")
Contact getContact(int contactId) {
return jdbcTemplate.queryForObject("SELECT * FROM contacts WHERE id = ?",
- (rs, rowNum) -> createContact(rs), new Object[]{contactId});
+ (rs, rowNum) -> createContact(rs), contactId);
}
/**
From 60a213efbc40e9ad6ec4ebe03177d99215d8b35b Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 13:41:42 +0200
Subject: [PATCH 034/602] made method non-static
---
.../de/dominikschadow/javasecurity/contacts/ContactService.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
index b74cf471..e29996e4 100644
--- a/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
+++ b/access-control-spring-security/src/main/java/de/dominikschadow/javasecurity/contacts/ContactService.java
@@ -61,7 +61,7 @@ List getContacts() {
return jdbcTemplate.query("SELECT * FROM contacts", (rs, rowNum) -> createContact(rs));
}
- private static Contact createContact(ResultSet rs) throws SQLException {
+ private Contact createContact(ResultSet rs) throws SQLException {
Contact contact = new Contact();
contact.setId(rs.getLong("id"));
contact.setUsername(rs.getString("username"));
From 7950db6516cb71a95e0160def0062a263b29ce3f Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 14:37:52 +0200
Subject: [PATCH 035/602] added JUnit 5 dependency
---
crypto-tink/pom.xml | 6 ++++++
pom.xml | 8 ++++++++
2 files changed, 14 insertions(+)
diff --git a/crypto-tink/pom.xml b/crypto-tink/pom.xml
index 7e848570..e61e2a5f 100644
--- a/crypto-tink/pom.xml
+++ b/crypto-tink/pom.xml
@@ -37,5 +37,11 @@
org.apache.logging.log4j
log4j-slf4j-impl
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 7cd05434..50d06ca4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -138,6 +138,14 @@
bootstrap
4.6.0-1
+
+
+ org.junit
+ junit-bom
+ 5.7.1
+ pom
+ import
+
From 3c88fb73195c1855ebfbb09a761a4e24f604c5bf Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 14:38:39 +0200
Subject: [PATCH 036/602] replaced main method with JUnit test
---
.../tink/aead/AesEaxWithGeneratedKey.java | 30 ++--------
.../tink/aead/AesEaxWithGeneratedKeyTest.java | 60 +++++++++++++++++++
2 files changed, 66 insertions(+), 24 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
index 210077bf..87c323be 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
@@ -21,7 +21,6 @@
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.aead.AeadConfig;
import com.google.crypto.tink.aead.AesEaxKeyManager;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,13 +34,11 @@
*/
public class AesEaxWithGeneratedKey {
private static final Logger log = LoggerFactory.getLogger(AesEaxWithGeneratedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String ASSOCIATED_DATA = "Some additional data";
/**
* Init AeadConfig in the Tink library.
*/
- private AesEaxWithGeneratedKey() {
+ public AesEaxWithGeneratedKey() {
try {
AeadConfig.register();
} catch (GeneralSecurityException ex) {
@@ -49,34 +46,19 @@ private AesEaxWithGeneratedKey() {
}
}
- public static void main(String[] args) {
- AesEaxWithGeneratedKey demo = new AesEaxWithGeneratedKey();
-
- try {
- KeysetHandle keysetHandle = demo.generateKey();
-
- byte[] cipherText = demo.encrypt(keysetHandle);
- byte[] plainText = demo.decrypt(keysetHandle, cipherText);
-
- TinkUtils.printSymmetricEncryptionData(keysetHandle, INITIAL_TEXT, cipherText, plainText);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- }
- }
-
- private KeysetHandle generateKey() throws GeneralSecurityException {
+ public KeysetHandle generateKey() throws GeneralSecurityException {
return KeysetHandle.generateNew(AesEaxKeyManager.aes256EaxTemplate());
}
- private byte[] encrypt(KeysetHandle keysetHandle) throws GeneralSecurityException {
+ public byte[] encrypt(KeysetHandle keysetHandle, byte[] initialText, byte[] associatedData) throws GeneralSecurityException {
Aead aead = keysetHandle.getPrimitive(Aead.class);
- return aead.encrypt(INITIAL_TEXT.getBytes(), ASSOCIATED_DATA.getBytes());
+ return aead.encrypt(initialText, associatedData);
}
- private byte[] decrypt(KeysetHandle keysetHandle, byte[] cipherText) throws GeneralSecurityException {
+ public byte[] decrypt(KeysetHandle keysetHandle, byte[] cipherText, byte[] associatedData) throws GeneralSecurityException {
Aead aead = keysetHandle.getPrimitive(Aead.class);
- return aead.decrypt(cipherText, ASSOCIATED_DATA.getBytes());
+ return aead.decrypt(cipherText, associatedData);
}
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
new file mode 100644
index 00000000..490fe2e4
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
+ *
+ * This file is part of the Java Security project.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package de.dominikschadow.javasecurity.tink.aead;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.nio.charset.StandardCharsets;
+import java.security.GeneralSecurityException;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class AesEaxWithGeneratedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
+
+ private final AesEaxWithGeneratedKey aesEax = new AesEaxWithGeneratedKey();
+
+ @Test
+ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
+ KeysetHandle keysetHandle = aesEax.generateKey();
+
+ byte[] cipherText = aesEax.encrypt(keysetHandle, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] plainText = aesEax.decrypt(keysetHandle, cipherText, ASSOCIATED_DATA);
+
+ Assertions.assertAll(
+ () -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
+ () -> assertEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(plainText, StandardCharsets.UTF_8))
+ );
+ }
+
+ @Test
+ void decryptionWithInvalidAssociatedDataFails() throws Exception {
+ KeysetHandle keysetHandle = aesEax.generateKey();
+
+ byte[] cipherText = aesEax.encrypt(keysetHandle, INITIAL_TEXT, ASSOCIATED_DATA);
+
+ Exception exception = assertThrows(GeneralSecurityException.class, () -> {
+ aesEax.decrypt(keysetHandle, cipherText, "abc".getBytes(StandardCharsets.UTF_8));
+ });
+
+ assertTrue(exception.getMessage().contains("decryption failed"));
+ }
+}
\ No newline at end of file
From 3c0ad3cb9e5a4f8c72ec0f4d7ebb26a5faeca725 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 14:39:42 +0200
Subject: [PATCH 037/602] replaced main method with JUnit test
---
.../javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
index 490fe2e4..bac34dec 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
@@ -51,9 +51,7 @@ void decryptionWithInvalidAssociatedDataFails() throws Exception {
byte[] cipherText = aesEax.encrypt(keysetHandle, INITIAL_TEXT, ASSOCIATED_DATA);
- Exception exception = assertThrows(GeneralSecurityException.class, () -> {
- aesEax.decrypt(keysetHandle, cipherText, "abc".getBytes(StandardCharsets.UTF_8));
- });
+ Exception exception = assertThrows(GeneralSecurityException.class, () -> aesEax.decrypt(keysetHandle, cipherText, "abc".getBytes(StandardCharsets.UTF_8)));
assertTrue(exception.getMessage().contains("decryption failed"));
}
From d53038f293b8dcd6ca1207350bb17b8e8320da30 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 14:49:13 +0200
Subject: [PATCH 038/602] replaced main method with JUnit test
---
.../tink/hybrid/EciesWithGeneratedKey.java | 33 +++-----------
.../hybrid/EciesWithGeneratedKeyTest.java | 43 +++++++++++++++++++
2 files changed, 50 insertions(+), 26 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
index 6334b09c..9fece1c8 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
@@ -22,7 +22,6 @@
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,13 +35,11 @@
*/
public class EciesWithGeneratedKey {
private static final Logger log = LoggerFactory.getLogger(EciesWithGeneratedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String CONTEXT_INFO = "Some additional data";
/**
* Init HybridConfig in the Tink library.
*/
- private EciesWithGeneratedKey() {
+ public EciesWithGeneratedKey() {
try {
HybridConfig.register();
} catch (GeneralSecurityException ex) {
@@ -50,39 +47,23 @@ private EciesWithGeneratedKey() {
}
}
- public static void main(String[] args) {
- EciesWithGeneratedKey demo = new EciesWithGeneratedKey();
-
- try {
- KeysetHandle privateKeysetHandle = demo.generatePrivateKey();
- KeysetHandle publicKeysetHandle = demo.generatePublicKey(privateKeysetHandle);
-
- byte[] cipherText = demo.encrypt(publicKeysetHandle);
- byte[] plainText = demo.decrypt(privateKeysetHandle, cipherText);
-
- TinkUtils.printHybridEncryptionData(privateKeysetHandle, publicKeysetHandle, INITIAL_TEXT, cipherText, plainText);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- }
- }
-
- private KeysetHandle generatePrivateKey() throws GeneralSecurityException {
+ public KeysetHandle generatePrivateKey() throws GeneralSecurityException {
return KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128CtrHmacSha256Template());
}
- private KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
+ public KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
return privateKeysetHandle.getPublicKeysetHandle();
}
- private byte[] encrypt(KeysetHandle publicKeysetHandle) throws GeneralSecurityException {
+ public byte[] encrypt(KeysetHandle publicKeysetHandle, byte[] initialText, byte[] contextInfo) throws GeneralSecurityException {
HybridEncrypt hybridEncrypt = publicKeysetHandle.getPrimitive(HybridEncrypt.class);
- return hybridEncrypt.encrypt(INITIAL_TEXT.getBytes(), CONTEXT_INFO.getBytes());
+ return hybridEncrypt.encrypt(initialText, contextInfo);
}
- private byte[] decrypt(KeysetHandle privateKeysetHandle, byte[] cipherText) throws GeneralSecurityException {
+ public byte[] decrypt(KeysetHandle privateKeysetHandle, byte[] cipherText, byte[] contextInfo) throws GeneralSecurityException {
HybridDecrypt hybridDecrypt = privateKeysetHandle.getPrimitive(HybridDecrypt.class);
- return hybridDecrypt.decrypt(cipherText, CONTEXT_INFO.getBytes());
+ return hybridDecrypt.decrypt(cipherText, contextInfo);
}
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
new file mode 100644
index 00000000..c691b37d
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
@@ -0,0 +1,43 @@
+package de.dominikschadow.javasecurity.tink.hybrid;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.nio.charset.StandardCharsets;
+import java.security.GeneralSecurityException;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class EciesWithGeneratedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] CONTEXT_INFO = "Some additional data".getBytes(StandardCharsets.UTF_8);
+
+ private final EciesWithGeneratedKey ecies = new EciesWithGeneratedKey();
+
+ @Test
+ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
+ KeysetHandle privateKeysetHandle = ecies.generatePrivateKey();
+ KeysetHandle publicKeysetHandle = ecies.generatePublicKey(privateKeysetHandle);
+
+ byte[] cipherText = ecies.encrypt(publicKeysetHandle, INITIAL_TEXT, CONTEXT_INFO);
+ byte[] plainText = ecies.decrypt(privateKeysetHandle, cipherText, CONTEXT_INFO);
+
+ Assertions.assertAll(
+ () -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
+ () -> assertEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(plainText, StandardCharsets.UTF_8))
+ );
+ }
+
+ @Test
+ void decryptionWithInvalidAssociatedDataFails() throws Exception {
+ KeysetHandle privateKeysetHandle = ecies.generatePrivateKey();
+ KeysetHandle publicKeysetHandle = ecies.generatePublicKey(privateKeysetHandle);
+
+ byte[] cipherText = ecies.encrypt(publicKeysetHandle, INITIAL_TEXT, CONTEXT_INFO);
+
+ Exception exception = assertThrows(GeneralSecurityException.class, () -> ecies.decrypt(privateKeysetHandle, cipherText, "abc".getBytes(StandardCharsets.UTF_8)));
+
+ assertTrue(exception.getMessage().contains("decryption failed"));
+ }
+}
\ No newline at end of file
From fca3513e5f6675a6c2a52e0a30128306dc198cc4 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 28 Mar 2021 15:05:24 +0200
Subject: [PATCH 039/602] replaced main method with JUnit test
---
.../tink/aead/AesGcmWithSavedKey.java | 45 +++++--------------
.../tink/aead/AesGcmWithSavedKeyTest.java | 37 +++++++++++++++
2 files changed, 47 insertions(+), 35 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
index 0e380350..7a97f692 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
@@ -20,7 +20,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.aead.AeadConfig;
import com.google.crypto.tink.aead.AesGcmKeyManager;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,14 +35,11 @@
*/
public class AesGcmWithSavedKey {
private static final Logger log = LoggerFactory.getLogger(AesGcmWithSavedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String ASSOCIATED_DATA = "Some additional data";
- private static final String KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/aead-aes-gcm.json";
/**
* Init AeadConfig in the Tink library.
*/
- private AesGcmWithSavedKey() {
+ public AesGcmWithSavedKey() {
try {
AeadConfig.register();
} catch (GeneralSecurityException ex) {
@@ -51,53 +47,32 @@ private AesGcmWithSavedKey() {
}
}
- public static void main(String[] args) {
- AesGcmWithSavedKey demo = new AesGcmWithSavedKey();
-
- try {
- demo.generateAndStoreKey();
-
- KeysetHandle keysetHandle = demo.loadKey();
-
- byte[] cipherText = demo.encrypt(keysetHandle);
- byte[] plainText = demo.decrypt(keysetHandle, cipherText);
-
- TinkUtils.printSymmetricEncryptionData(keysetHandle, INITIAL_TEXT, cipherText, plainText);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- } catch (IOException ex) {
- log.error("Failure during storing key", ex);
- }
- }
-
/**
* Stores the keyset in the projects resources/keysets directory if it does not exist yet.
*
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- private void generateAndStoreKey() throws IOException, GeneralSecurityException {
- File keysetFile = new File(KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStoreKey(File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = KeysetHandle.generateNew(AesGcmKeyManager.aes128GcmTemplate());
- CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
+ CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
- private KeysetHandle loadKey() throws IOException, GeneralSecurityException {
- return CleartextKeysetHandle.read(JsonKeysetReader.withFile(new File(KEYSET_FILENAME)));
+ public KeysetHandle loadKey(File keyset) throws IOException, GeneralSecurityException {
+ return CleartextKeysetHandle.read(JsonKeysetReader.withFile(keyset));
}
- private byte[] encrypt(KeysetHandle keysetHandle) throws GeneralSecurityException {
+ public byte[] encrypt(KeysetHandle keysetHandle, byte[] initialText, byte[] associatedData) throws GeneralSecurityException {
Aead aead = keysetHandle.getPrimitive(Aead.class);
- return aead.encrypt(INITIAL_TEXT.getBytes(), ASSOCIATED_DATA.getBytes());
+ return aead.encrypt(initialText, associatedData);
}
- private byte[] decrypt(KeysetHandle keysetHandle, byte[] cipherText) throws GeneralSecurityException {
+ public byte[] decrypt(KeysetHandle keysetHandle, byte[] cipherText, byte[] associatedData) throws GeneralSecurityException {
Aead aead = keysetHandle.getPrimitive(Aead.class);
- return aead.decrypt(cipherText, ASSOCIATED_DATA.getBytes());
+ return aead.decrypt(cipherText, associatedData);
}
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
new file mode 100644
index 00000000..b9a21367
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
@@ -0,0 +1,37 @@
+package de.dominikschadow.javasecurity.tink.aead;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+
+class AesGcmWithSavedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
+ private static final String KEYSET_FILENAME = "keysets/aead-aes-gcm.json";
+
+ private final AesGcmWithSavedKey aesEax = new AesGcmWithSavedKey();
+ private KeysetHandle keysetHandle;
+
+ @BeforeEach
+ protected void setup() throws Exception {
+ keysetHandle = aesEax.loadKey(new File(getClass().getClassLoader().getResource(KEYSET_FILENAME).getFile()));
+ }
+
+ @Test
+ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
+ byte[] cipherText = aesEax.encrypt(keysetHandle, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] plainText = aesEax.decrypt(keysetHandle, cipherText, ASSOCIATED_DATA);
+
+ Assertions.assertAll(
+ () -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
+ () -> assertEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(plainText, StandardCharsets.UTF_8))
+ );
+ }
+}
\ No newline at end of file
From 283bc647f5c06f0bc09fac0fb67e55d90f94be17 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 13:33:29 +0200
Subject: [PATCH 040/602] added missing class doc
---
.../tink/aead/AesGcmWithSavedKeyTest.java | 17 +++++++++++++++++
.../tink/hybrid/EciesWithGeneratedKeyTest.java | 17 +++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
index b9a21367..0e5b1911 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
+ *
+ * This file is part of the Java Security project.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package de.dominikschadow.javasecurity.tink.aead;
import com.google.crypto.tink.KeysetHandle;
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
index c691b37d..bf4655af 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
+ *
+ * This file is part of the Java Security project.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package de.dominikschadow.javasecurity.tink.hybrid;
import com.google.crypto.tink.KeysetHandle;
From fdc6dd3f42f3aa934f9c69d24ee4e36982d014a8 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 13:33:40 +0200
Subject: [PATCH 041/602] replaced main method with JUnit test
---
.../EciesWithGeneratedKeyAndKeyRotation.java | 54 +++++--------------
...iesWithGeneratedKeyAndKeyRotationTest.java | 50 +++++++++++++++++
2 files changed, 64 insertions(+), 40 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotationTest.java
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
index 3ddba029..b29a5f56 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
@@ -23,7 +23,6 @@
import com.google.crypto.tink.KeysetManager;
import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,13 +36,11 @@
*/
public class EciesWithGeneratedKeyAndKeyRotation {
private static final Logger log = LoggerFactory.getLogger(EciesWithGeneratedKeyAndKeyRotation.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String CONTEXT_INFO = "Some additional data";
/**
* Init HybridConfig in the Tink library.
*/
- private EciesWithGeneratedKeyAndKeyRotation() {
+ public EciesWithGeneratedKeyAndKeyRotation() {
try {
HybridConfig.register();
} catch (GeneralSecurityException ex) {
@@ -51,58 +48,35 @@ private EciesWithGeneratedKeyAndKeyRotation() {
}
}
- public static void main(String[] args) {
- EciesWithGeneratedKeyAndKeyRotation demo = new EciesWithGeneratedKeyAndKeyRotation();
-
- try {
- KeysetHandle originalKey = demo.generatePrivateKey();
- TinkUtils.printKeyset("original keyset data", originalKey);
- KeysetHandle rotatedKey = demo.rotateKey(originalKey);
- TinkUtils.printKeyset("rotated keyset data", rotatedKey);
- rotatedKey = demo.disableOriginalKey(rotatedKey);
- TinkUtils.printKeyset("disabled rotated keyset data", rotatedKey);
- KeysetHandle publicKeysetHandle = demo.generatePublicKey(rotatedKey);
-
- byte[] cipherText = demo.encrypt(publicKeysetHandle);
- byte[] plainText = demo.decrypt(rotatedKey, cipherText);
-
- TinkUtils.printHybridEncryptionData(rotatedKey, publicKeysetHandle, INITIAL_TEXT, cipherText, plainText);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- }
- }
-
/**
- * Generate a new key with different ECIES properties and add it to the keyset.
+ * Generate a new key with different ECIES properties and add it to the keyset. Sets the new key as primary key and
+ * disables the original primary key.
*/
- private KeysetHandle rotateKey(KeysetHandle keysetHandle) throws GeneralSecurityException {
- return KeysetManager.withKeysetHandle(keysetHandle).add(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128CtrHmacSha256Template()).getKeysetHandle();
- }
+ public KeysetHandle rotateKey(KeysetHandle keysetHandle) throws GeneralSecurityException {
+ KeysetHandle handle = KeysetManager.withKeysetHandle(keysetHandle).add(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128CtrHmacSha256Template()).getKeysetHandle();
- /**
- * Optional step to disable the original key.
- */
- private KeysetHandle disableOriginalKey(KeysetHandle keysetHandle) throws GeneralSecurityException {
- return KeysetManager.withKeysetHandle(keysetHandle).disable(keysetHandle.getKeysetInfo().getKeyInfo(0).getKeyId()).getKeysetHandle();
+ handle = KeysetManager.withKeysetHandle(handle).setPrimary(handle.getKeysetInfo().getKeyInfo(1).getKeyId()).getKeysetHandle();
+
+ return KeysetManager.withKeysetHandle(handle).disable(handle.getKeysetInfo().getKeyInfo(0).getKeyId()).getKeysetHandle();
}
- private KeysetHandle generatePrivateKey() throws GeneralSecurityException {
+ public KeysetHandle generatePrivateKey() throws GeneralSecurityException {
return KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
}
- private KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
+ public KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
return privateKeysetHandle.getPublicKeysetHandle();
}
- private byte[] encrypt(KeysetHandle publicKeysetHandle) throws GeneralSecurityException {
+ public byte[] encrypt(KeysetHandle publicKeysetHandle, byte[] initialText, byte[] contextInfo) throws GeneralSecurityException {
HybridEncrypt hybridEncrypt = publicKeysetHandle.getPrimitive(HybridEncrypt.class);
- return hybridEncrypt.encrypt(INITIAL_TEXT.getBytes(), CONTEXT_INFO.getBytes());
+ return hybridEncrypt.encrypt(initialText, contextInfo);
}
- private byte[] decrypt(KeysetHandle privateKeysetHandle, byte[] cipherText) throws GeneralSecurityException {
+ public byte[] decrypt(KeysetHandle privateKeysetHandle, byte[] cipherText, byte[] contextInfo) throws GeneralSecurityException {
HybridDecrypt hybridDecrypt = privateKeysetHandle.getPrimitive(HybridDecrypt.class);
- return hybridDecrypt.decrypt(cipherText, CONTEXT_INFO.getBytes());
+ return hybridDecrypt.decrypt(cipherText, contextInfo);
}
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotationTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotationTest.java
new file mode 100644
index 00000000..9d40e2a2
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotationTest.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
+ *
+ * This file is part of the Java Security project.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package de.dominikschadow.javasecurity.tink.hybrid;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+
+class EciesWithGeneratedKeyAndKeyRotationTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] CONTEXT_INFO = "Some additional data".getBytes(StandardCharsets.UTF_8);
+
+ private final EciesWithGeneratedKeyAndKeyRotation ecies = new EciesWithGeneratedKeyAndKeyRotation();
+
+ @Test
+ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
+ KeysetHandle originalKey = ecies.generatePrivateKey();
+ KeysetHandle rotatedKey = ecies.rotateKey(originalKey);
+ KeysetHandle publicKey = ecies.generatePublicKey(rotatedKey);
+
+ byte[] cipherText = ecies.encrypt(publicKey, INITIAL_TEXT, CONTEXT_INFO);
+ byte[] plainText = ecies.decrypt(rotatedKey, cipherText, CONTEXT_INFO);
+
+ Assertions.assertAll(
+ () -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
+ () -> assertNotEquals(originalKey.getKeysetInfo().getPrimaryKeyId(), rotatedKey.getKeysetInfo().getPrimaryKeyId()),
+ () -> assertEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(plainText, StandardCharsets.UTF_8))
+ );
+ }
+}
\ No newline at end of file
From 3503d72a3446373da2507fcf58adf512287893f1 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 13:35:27 +0200
Subject: [PATCH 042/602] Refactoring
---
.../tink/aead/AesEaxWithGeneratedKeyTest.java | 12 ++++++------
.../tink/aead/AesGcmWithSavedKeyTest.java | 8 ++++----
.../tink/hybrid/EciesWithGeneratedKeyTest.java | 16 ++++++++--------
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
index bac34dec..ac3251bc 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
@@ -34,10 +34,10 @@ class AesEaxWithGeneratedKeyTest {
@Test
void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
- KeysetHandle keysetHandle = aesEax.generateKey();
+ KeysetHandle secretKey = aesEax.generateKey();
- byte[] cipherText = aesEax.encrypt(keysetHandle, INITIAL_TEXT, ASSOCIATED_DATA);
- byte[] plainText = aesEax.decrypt(keysetHandle, cipherText, ASSOCIATED_DATA);
+ byte[] cipherText = aesEax.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] plainText = aesEax.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
Assertions.assertAll(
() -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
@@ -47,11 +47,11 @@ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
@Test
void decryptionWithInvalidAssociatedDataFails() throws Exception {
- KeysetHandle keysetHandle = aesEax.generateKey();
+ KeysetHandle secretKey = aesEax.generateKey();
- byte[] cipherText = aesEax.encrypt(keysetHandle, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] cipherText = aesEax.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
- Exception exception = assertThrows(GeneralSecurityException.class, () -> aesEax.decrypt(keysetHandle, cipherText, "abc".getBytes(StandardCharsets.UTF_8)));
+ Exception exception = assertThrows(GeneralSecurityException.class, () -> aesEax.decrypt(secretKey, cipherText, "abc".getBytes(StandardCharsets.UTF_8)));
assertTrue(exception.getMessage().contains("decryption failed"));
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
index 0e5b1911..5c3fbfd2 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
@@ -34,17 +34,17 @@ class AesGcmWithSavedKeyTest {
private static final String KEYSET_FILENAME = "keysets/aead-aes-gcm.json";
private final AesGcmWithSavedKey aesEax = new AesGcmWithSavedKey();
- private KeysetHandle keysetHandle;
+ private KeysetHandle secretKey;
@BeforeEach
protected void setup() throws Exception {
- keysetHandle = aesEax.loadKey(new File(getClass().getClassLoader().getResource(KEYSET_FILENAME).getFile()));
+ secretKey = aesEax.loadKey(new File(getClass().getClassLoader().getResource(KEYSET_FILENAME).getFile()));
}
@Test
void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
- byte[] cipherText = aesEax.encrypt(keysetHandle, INITIAL_TEXT, ASSOCIATED_DATA);
- byte[] plainText = aesEax.decrypt(keysetHandle, cipherText, ASSOCIATED_DATA);
+ byte[] cipherText = aesEax.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] plainText = aesEax.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
Assertions.assertAll(
() -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
index bf4655af..a6a06c51 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
@@ -34,11 +34,11 @@ class EciesWithGeneratedKeyTest {
@Test
void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
- KeysetHandle privateKeysetHandle = ecies.generatePrivateKey();
- KeysetHandle publicKeysetHandle = ecies.generatePublicKey(privateKeysetHandle);
+ KeysetHandle privateKey = ecies.generatePrivateKey();
+ KeysetHandle publicKey = ecies.generatePublicKey(privateKey);
- byte[] cipherText = ecies.encrypt(publicKeysetHandle, INITIAL_TEXT, CONTEXT_INFO);
- byte[] plainText = ecies.decrypt(privateKeysetHandle, cipherText, CONTEXT_INFO);
+ byte[] cipherText = ecies.encrypt(publicKey, INITIAL_TEXT, CONTEXT_INFO);
+ byte[] plainText = ecies.decrypt(privateKey, cipherText, CONTEXT_INFO);
Assertions.assertAll(
() -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
@@ -48,12 +48,12 @@ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
@Test
void decryptionWithInvalidAssociatedDataFails() throws Exception {
- KeysetHandle privateKeysetHandle = ecies.generatePrivateKey();
- KeysetHandle publicKeysetHandle = ecies.generatePublicKey(privateKeysetHandle);
+ KeysetHandle privateKey = ecies.generatePrivateKey();
+ KeysetHandle publicKey = ecies.generatePublicKey(privateKey);
- byte[] cipherText = ecies.encrypt(publicKeysetHandle, INITIAL_TEXT, CONTEXT_INFO);
+ byte[] cipherText = ecies.encrypt(publicKey, INITIAL_TEXT, CONTEXT_INFO);
- Exception exception = assertThrows(GeneralSecurityException.class, () -> ecies.decrypt(privateKeysetHandle, cipherText, "abc".getBytes(StandardCharsets.UTF_8)));
+ Exception exception = assertThrows(GeneralSecurityException.class, () -> ecies.decrypt(privateKey, cipherText, "abc".getBytes(StandardCharsets.UTF_8)));
assertTrue(exception.getMessage().contains("decryption failed"));
}
From 1b2ef03d1de6208df2c6b0cc57d95f048064e6ea Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 13:36:38 +0200
Subject: [PATCH 043/602] moved key file to test resources
---
.../src/{main => test}/resources/keysets/aead-aes-gcm.json | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename crypto-tink/src/{main => test}/resources/keysets/aead-aes-gcm.json (100%)
diff --git a/crypto-tink/src/main/resources/keysets/aead-aes-gcm.json b/crypto-tink/src/test/resources/keysets/aead-aes-gcm.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/aead-aes-gcm.json
rename to crypto-tink/src/test/resources/keysets/aead-aes-gcm.json
From 5c503cb94d07604944eaa6eb19abf6983ae1d249 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 13:54:04 +0200
Subject: [PATCH 044/602] improved keyset file loading
---
.../javasecurity/tink/aead/AesGcmWithSavedKeyTest.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
index 5c3fbfd2..6f797b04 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
@@ -31,14 +31,16 @@
class AesGcmWithSavedKeyTest {
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
- private static final String KEYSET_FILENAME = "keysets/aead-aes-gcm.json";
+ private static final String KEYSET_FILENAME = "src/test/resources/keysets/aead-aes-gcm.json";
+ private final File keysetFile = new File(KEYSET_FILENAME);
private final AesGcmWithSavedKey aesEax = new AesGcmWithSavedKey();
private KeysetHandle secretKey;
@BeforeEach
protected void setup() throws Exception {
- secretKey = aesEax.loadKey(new File(getClass().getClassLoader().getResource(KEYSET_FILENAME).getFile()));
+ aesEax.generateAndStoreKey(keysetFile);
+ secretKey = aesEax.loadKey(keysetFile);
}
@Test
From 83dacb7601fb61c4c925d1a4a55015de071c4230 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 14:06:54 +0200
Subject: [PATCH 045/602] replaced main method with JUnit test
---
.../tink/hybrid/EciesWithSavedKey.java | 60 +++++-------------
.../tink/hybrid/EciesWithSavedKeyTest.java | 62 +++++++++++++++++++
.../keysets/hybrid-ecies-private.json | 0
.../keysets/hybrid-ecies-public.json | 0
4 files changed, 77 insertions(+), 45 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKeyTest.java
rename crypto-tink/src/{main => test}/resources/keysets/hybrid-ecies-private.json (100%)
rename crypto-tink/src/{main => test}/resources/keysets/hybrid-ecies-public.json (100%)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
index 9fa3cfc4..6c4ab929 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
@@ -20,7 +20,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,15 +35,11 @@
*/
public class EciesWithSavedKey {
private static final Logger log = LoggerFactory.getLogger(EciesWithSavedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String CONTEXT_INFO = "Some additional data";
- private static final String PRIVATE_KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/hybrid-ecies-private.json";
- private static final String PUBLIC_KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/hybrid-ecies-public.json";
/**
* Init HybridConfig in the Tink library.
*/
- private EciesWithSavedKey() {
+ public EciesWithSavedKey() {
try {
HybridConfig.register();
} catch (GeneralSecurityException ex) {
@@ -52,44 +47,21 @@ private EciesWithSavedKey() {
}
}
- public static void main(String[] args) {
- EciesWithSavedKey demo = new EciesWithSavedKey();
-
- try {
- demo.generateAndStorePrivateKey();
- KeysetHandle privateKeysetHandle = demo.loadPrivateKey();
-
- demo.generateAndStorePublicKey(privateKeysetHandle);
- KeysetHandle publicKeysetHandle = demo.loadPublicKey();
-
- byte[] cipherText = demo.encrypt(publicKeysetHandle);
- byte[] plainText = demo.decrypt(privateKeysetHandle, cipherText);
-
- TinkUtils.printHybridEncryptionData(privateKeysetHandle, publicKeysetHandle, INITIAL_TEXT, cipherText, plainText);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- } catch (IOException ex) {
- log.error("Failure during storing key", ex);
- }
- }
-
/**
* Stores the private keyset in the projects resources/keysets directory if it does not exist yet.
*
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- private void generateAndStorePrivateKey() throws IOException, GeneralSecurityException {
- File keysetFile = new File(PRIVATE_KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStorePrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
- CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
+ CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
- private KeysetHandle loadPrivateKey() throws IOException, GeneralSecurityException {
- return CleartextKeysetHandle.read(JsonKeysetReader.withFile(new File(PRIVATE_KEYSET_FILENAME)));
+ public KeysetHandle loadPrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ return CleartextKeysetHandle.read(JsonKeysetReader.withFile(keyset));
}
/**
@@ -98,28 +70,26 @@ private KeysetHandle loadPrivateKey() throws IOException, GeneralSecurityExcepti
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- private void generateAndStorePublicKey(KeysetHandle privateKeysetHandle) throws IOException, GeneralSecurityException {
- File keysetFile = new File(PUBLIC_KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStorePublicKey(KeysetHandle privateKeysetHandle, File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = privateKeysetHandle.getPublicKeysetHandle();
- CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
+ CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
- private KeysetHandle loadPublicKey() throws IOException, GeneralSecurityException {
- return CleartextKeysetHandle.read(JsonKeysetReader.withFile(new File(PUBLIC_KEYSET_FILENAME)));
+ public KeysetHandle loadPublicKey(File keyset) throws IOException, GeneralSecurityException {
+ return CleartextKeysetHandle.read(JsonKeysetReader.withFile(keyset));
}
- private byte[] encrypt(KeysetHandle publicKeysetHandle) throws GeneralSecurityException {
+ public byte[] encrypt(KeysetHandle publicKeysetHandle, byte[] initialText, byte[] contextInfo) throws GeneralSecurityException {
HybridEncrypt hybridEncrypt = publicKeysetHandle.getPrimitive(HybridEncrypt.class);
- return hybridEncrypt.encrypt(INITIAL_TEXT.getBytes(), CONTEXT_INFO.getBytes());
+ return hybridEncrypt.encrypt(initialText, contextInfo);
}
- private byte[] decrypt(KeysetHandle privateKeysetHandle, byte[] cipherText) throws GeneralSecurityException {
+ public byte[] decrypt(KeysetHandle privateKeysetHandle, byte[] cipherText, byte[] contextInfo) throws GeneralSecurityException {
HybridDecrypt hybridDecrypt = privateKeysetHandle.getPrimitive(HybridDecrypt.class);
- return hybridDecrypt.decrypt(cipherText, CONTEXT_INFO.getBytes());
+ return hybridDecrypt.decrypt(cipherText, contextInfo);
}
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKeyTest.java
new file mode 100644
index 00000000..ed177cb4
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKeyTest.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
+ *
+ * This file is part of the Java Security project.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package de.dominikschadow.javasecurity.tink.hybrid;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+
+class EciesWithSavedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] CONTEXT_INFO = "Some additional data".getBytes(StandardCharsets.UTF_8);
+ private static final String PRIVATE_KEYSET_FILENAME = "src/test/resources/keysets/hybrid-ecies-private.json";
+ private static final String PUBLIC_KEYSET_FILENAME = "src/test/resources/keysets/hybrid-ecies-public.json";
+ private final File privateKeysetFile = new File(PRIVATE_KEYSET_FILENAME);
+ private final File publicKeysetFile = new File(PUBLIC_KEYSET_FILENAME);
+ private KeysetHandle publicKey;
+ private KeysetHandle privateKey;
+
+ private final EciesWithSavedKey ecies = new EciesWithSavedKey();
+
+ @BeforeEach
+ protected void setup() throws Exception {
+ ecies.generateAndStorePrivateKey(privateKeysetFile);
+ privateKey = ecies.loadPrivateKey(privateKeysetFile);
+
+ ecies.generateAndStorePublicKey(privateKey, publicKeysetFile);
+ publicKey = ecies.loadPublicKey(publicKeysetFile);
+ }
+
+ @Test
+ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
+ byte[] cipherText = ecies.encrypt(publicKey, INITIAL_TEXT, CONTEXT_INFO);
+ byte[] plainText = ecies.decrypt(privateKey, cipherText, CONTEXT_INFO);
+
+ Assertions.assertAll(
+ () -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
+ () -> assertEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(plainText, StandardCharsets.UTF_8))
+ );
+ }
+}
\ No newline at end of file
diff --git a/crypto-tink/src/main/resources/keysets/hybrid-ecies-private.json b/crypto-tink/src/test/resources/keysets/hybrid-ecies-private.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/hybrid-ecies-private.json
rename to crypto-tink/src/test/resources/keysets/hybrid-ecies-private.json
diff --git a/crypto-tink/src/main/resources/keysets/hybrid-ecies-public.json b/crypto-tink/src/test/resources/keysets/hybrid-ecies-public.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/hybrid-ecies-public.json
rename to crypto-tink/src/test/resources/keysets/hybrid-ecies-public.json
From d8c5759c800b21709609d8b221357471311f596b Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 14:12:59 +0200
Subject: [PATCH 046/602] added codecov
---
.github/workflows/maven.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index eb6e7a70..4da3fa8e 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -18,3 +18,4 @@ jobs:
java-version: 11
- name: Build with Maven
run: mvn -B package --file pom.xml
+ - uses: codecov/codecov-action@v1
From a7b2397bb93961dba5afa21d980bb4d34c1caff9 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 14:13:40 +0200
Subject: [PATCH 047/602] added codecov
---
.github/workflows/maven.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 4da3fa8e..7635e02c 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -18,4 +18,5 @@ jobs:
java-version: 11
- name: Build with Maven
run: mvn -B package --file pom.xml
- - uses: codecov/codecov-action@v1
+ - name: Measure test coverage
+ uses: codecov/codecov-action@v1
From 3a9e9411ecea24bcebc67587ea6a2fda6e2f0ac9 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 14:20:48 +0200
Subject: [PATCH 048/602] configured tests and codecov
---
.github/workflows/maven.yml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 7635e02c..c05ece27 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -17,6 +17,8 @@ jobs:
with:
java-version: 11
- name: Build with Maven
- run: mvn -B package --file pom.xml
+ run: mvn -B verify test --file pom.xml
- name: Measure test coverage
uses: codecov/codecov-action@v1
+ with:
+ flags: unittests
From fcfba5e92962aef2cd078500e0e0eae1d58ac8ce Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 14:30:53 +0200
Subject: [PATCH 049/602] added jacoco
---
pom.xml | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/pom.xml b/pom.xml
index 50d06ca4..ab8820fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -181,6 +181,26 @@
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.6
+
+
+ prepare-agent
+
+ prepare-agent
+
+
+
+ report
+ test
+
+ report
+
+
+
+
From 73fa1c56506d2ea73923d55fdb22871f4a27defb Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 14:31:03 +0200
Subject: [PATCH 050/602] configured codecov
---
.github/workflows/maven.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index c05ece27..45aaba94 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -17,8 +17,9 @@ jobs:
with:
java-version: 11
- name: Build with Maven
- run: mvn -B verify test --file pom.xml
+ run: mvn -B verify --file pom.xml
- name: Measure test coverage
uses: codecov/codecov-action@v1
with:
flags: unittests
+ files: **/target/site/jacoco.xml
From a87fec48b64273238a5cb14eedca46b8e4e9ca90 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 2 Apr 2021 14:32:49 +0200
Subject: [PATCH 051/602] configured codecov
---
.github/workflows/maven.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 45aaba94..8b1c2183 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -22,4 +22,3 @@ jobs:
uses: codecov/codecov-action@v1
with:
flags: unittests
- files: **/target/site/jacoco.xml
From d900cb32e925b917427d9f193834541e2989fcd9 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Apr 2021 13:12:29 +0200
Subject: [PATCH 052/602] replaced main method with JUnit test
---
...dKey.java => HmacShaWithGeneratedKey.java} | 33 +++---------
...SavedKey.java => HmacShaWithSavedKey.java} | 48 +++++-------------
.../tink/mac/HmacShaWithGeneratedKeyTest.java | 40 +++++++++++++++
.../tink/mac/HmacShaWithSavedKeyTest.java | 50 +++++++++++++++++++
.../resources/keysets/hmac-sha.json | 0
5 files changed, 110 insertions(+), 61 deletions(-)
rename crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/{HmcShaWithGeneratedKey.java => HmacShaWithGeneratedKey.java} (63%)
rename crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/{HmcShaWithSavedKey.java => HmacShaWithSavedKey.java} (60%)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKeyTest.java
rename crypto-tink/src/{main => test}/resources/keysets/hmac-sha.json (100%)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
similarity index 63%
rename from crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java
rename to crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
index 68112c0c..a0a948b0 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
@@ -21,7 +21,6 @@
import com.google.crypto.tink.Mac;
import com.google.crypto.tink.mac.HmacKeyManager;
import com.google.crypto.tink.mac.MacConfig;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -33,14 +32,13 @@
*
* @author Dominik Schadow
*/
-public class HmcShaWithGeneratedKey {
- private static final Logger log = LoggerFactory.getLogger(HmcShaWithGeneratedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
+public class HmacShaWithGeneratedKey {
+ private static final Logger log = LoggerFactory.getLogger(HmacShaWithGeneratedKey.class);
/**
* Init MacConfig in the Tink library.
*/
- private HmcShaWithGeneratedKey() {
+ public HmacShaWithGeneratedKey() {
try {
MacConfig.register();
} catch (GeneralSecurityException ex) {
@@ -48,31 +46,16 @@ private HmcShaWithGeneratedKey() {
}
}
- public static void main(String[] args) {
- HmcShaWithGeneratedKey demo = new HmcShaWithGeneratedKey();
-
- try {
- KeysetHandle keysetHandle = demo.generateKey();
-
- byte[] tag = demo.computeMac(keysetHandle);
- boolean valid = demo.verifyMac(keysetHandle, tag);
-
- TinkUtils.printMacData(keysetHandle, INITIAL_TEXT, tag, valid);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- }
- }
-
- private byte[] computeMac(KeysetHandle keysetHandle) throws GeneralSecurityException {
+ public byte[] computeMac(KeysetHandle keysetHandle, byte[] initialText) throws GeneralSecurityException {
Mac mac = keysetHandle.getPrimitive(Mac.class);
- return mac.computeMac(INITIAL_TEXT.getBytes());
+ return mac.computeMac(initialText);
}
- private boolean verifyMac(KeysetHandle keysetHandle, byte[] tag) {
+ public boolean verifyMac(KeysetHandle keysetHandle, byte[] tag, byte[] initialText) {
try {
Mac mac = keysetHandle.getPrimitive(Mac.class);
- mac.verifyMac(tag, INITIAL_TEXT.getBytes());
+ mac.verifyMac(tag, initialText);
return true;
} catch (GeneralSecurityException ex) {
log.error("MAC is invalid", ex);
@@ -81,7 +64,7 @@ private boolean verifyMac(KeysetHandle keysetHandle, byte[] tag) {
return false;
}
- private KeysetHandle generateKey() throws GeneralSecurityException {
+ public KeysetHandle generateKey() throws GeneralSecurityException {
return KeysetHandle.generateNew(HmacKeyManager.hmacSha256HalfDigestTemplate());
}
}
\ No newline at end of file
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
similarity index 60%
rename from crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java
rename to crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
index 532d652b..02a81a3d 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmcShaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
@@ -20,7 +20,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.mac.HmacKeyManager;
import com.google.crypto.tink.mac.MacConfig;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,15 +33,13 @@
*
* @author Dominik Schadow
*/
-public class HmcShaWithSavedKey {
- private static final Logger log = LoggerFactory.getLogger(HmcShaWithSavedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/hmac-sha.json";
+public class HmacShaWithSavedKey {
+ private static final Logger log = LoggerFactory.getLogger(HmacShaWithSavedKey.class);
/**
* Init MacConfig in the Tink library.
*/
- private HmcShaWithSavedKey() {
+ public HmacShaWithSavedKey() {
try {
MacConfig.register();
} catch (GeneralSecurityException ex) {
@@ -50,54 +47,33 @@ private HmcShaWithSavedKey() {
}
}
- public static void main(String[] args) {
- HmcShaWithSavedKey demo = new HmcShaWithSavedKey();
-
- try {
- demo.generateAndStoreKey();
-
- KeysetHandle keysetHandle = demo.loadKey();
-
- byte[] tag = demo.computeMac(keysetHandle);
- boolean valid = demo.verifyMac(keysetHandle, tag);
-
- TinkUtils.printMacData(keysetHandle, INITIAL_TEXT, tag, valid);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- } catch (IOException ex) {
- log.error("Failure during storing key", ex);
- }
- }
-
/**
* Stores the keyset in the projects resources/keysets directory if it does not exist yet.
*
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- private void generateAndStoreKey() throws IOException, GeneralSecurityException {
- File keysetFile = new File(KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStoreKey(File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = KeysetHandle.generateNew(HmacKeyManager.hmacSha256HalfDigestTemplate());
- CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
+ CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
- private KeysetHandle loadKey() throws IOException, GeneralSecurityException {
- return CleartextKeysetHandle.read(JsonKeysetReader.withFile(new File(KEYSET_FILENAME)));
+ public KeysetHandle loadKey(File keyset) throws IOException, GeneralSecurityException {
+ return CleartextKeysetHandle.read(JsonKeysetReader.withFile(keyset));
}
- private byte[] computeMac(KeysetHandle keysetHandle) throws GeneralSecurityException {
+ public byte[] computeMac(KeysetHandle keysetHandle, byte[] initialText) throws GeneralSecurityException {
Mac mac = keysetHandle.getPrimitive(Mac.class);
- return mac.computeMac(INITIAL_TEXT.getBytes());
+ return mac.computeMac(initialText);
}
- private boolean verifyMac(KeysetHandle keysetHandle, byte[] tag) {
+ public boolean verifyMac(KeysetHandle keysetHandle, byte[] tag, byte[] initialText) {
try {
Mac mac = keysetHandle.getPrimitive(Mac.class);
- mac.verifyMac(tag, INITIAL_TEXT.getBytes());
+ mac.verifyMac(tag, initialText);
return true;
} catch (GeneralSecurityException ex) {
log.error("MAC is invalid", ex);
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
new file mode 100644
index 00000000..726eaab2
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
@@ -0,0 +1,40 @@
+package de.dominikschadow.javasecurity.tink.mac;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class HmacShaWithGeneratedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private final HmacShaWithGeneratedKey hmac = new HmacShaWithGeneratedKey();
+
+ @Test
+ void unchangedInputValidatesSuccessful() throws Exception {
+ KeysetHandle keysetHandle = hmac.generateKey();
+
+ byte[] tag = hmac.computeMac(keysetHandle, INITIAL_TEXT);
+ boolean validation = hmac.verifyMac(keysetHandle, tag, INITIAL_TEXT);
+
+ Assertions.assertAll(
+ () -> assertNotNull(tag),
+ () -> assertTrue(validation)
+ );
+ }
+
+ @Test
+ void changedInputValidationFails() throws Exception {
+ KeysetHandle keysetHandle = hmac.generateKey();
+
+ byte[] tag = hmac.computeMac(keysetHandle, INITIAL_TEXT);
+ boolean validation = hmac.verifyMac(keysetHandle, tag, "manipulation".getBytes(StandardCharsets.UTF_8));
+
+ Assertions.assertAll(
+ () -> assertNotNull(tag),
+ () -> assertFalse(validation)
+ );
+ }
+}
\ No newline at end of file
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKeyTest.java
new file mode 100644
index 00000000..ca1c21eb
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKeyTest.java
@@ -0,0 +1,50 @@
+package de.dominikschadow.javasecurity.tink.mac;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class HmacShaWithSavedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final String KEYSET_FILENAME = "src/test/resources/keysets/hmac-sha.json";
+ private final File keysetFile = new File(KEYSET_FILENAME);
+
+ private final HmacShaWithSavedKey hmac = new HmacShaWithSavedKey();
+
+ @BeforeEach
+ protected void setup() throws Exception {
+ hmac.generateAndStoreKey(keysetFile);
+ }
+
+ @Test
+ void unchangedInputValidatesSuccessful() throws Exception {
+ KeysetHandle keysetHandle = hmac.loadKey(keysetFile);
+
+ byte[] tag = hmac.computeMac(keysetHandle, INITIAL_TEXT);
+ boolean validation = hmac.verifyMac(keysetHandle, tag, INITIAL_TEXT);
+
+ Assertions.assertAll(
+ () -> assertNotNull(tag),
+ () -> assertTrue(validation)
+ );
+ }
+
+ @Test
+ void changedInputValidationFails() throws Exception {
+ KeysetHandle keysetHandle = hmac.loadKey(keysetFile);
+
+ byte[] tag = hmac.computeMac(keysetHandle, INITIAL_TEXT);
+ boolean validation = hmac.verifyMac(keysetHandle, tag, "manipulation".getBytes(StandardCharsets.UTF_8));
+
+ Assertions.assertAll(
+ () -> assertNotNull(tag),
+ () -> assertFalse(validation)
+ );
+ }
+}
\ No newline at end of file
diff --git a/crypto-tink/src/main/resources/keysets/hmac-sha.json b/crypto-tink/src/test/resources/keysets/hmac-sha.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/hmac-sha.json
rename to crypto-tink/src/test/resources/keysets/hmac-sha.json
From a067f456602665185b7cf71a63ac7addae36e52e Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Apr 2021 13:13:26 +0200
Subject: [PATCH 053/602] updated tests
---
.../javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java | 2 +-
.../javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
index ac3251bc..51bd7a00 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
@@ -51,7 +51,7 @@ void decryptionWithInvalidAssociatedDataFails() throws Exception {
byte[] cipherText = aesEax.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
- Exception exception = assertThrows(GeneralSecurityException.class, () -> aesEax.decrypt(secretKey, cipherText, "abc".getBytes(StandardCharsets.UTF_8)));
+ Exception exception = assertThrows(GeneralSecurityException.class, () -> aesEax.decrypt(secretKey, cipherText, "manipulation".getBytes(StandardCharsets.UTF_8)));
assertTrue(exception.getMessage().contains("decryption failed"));
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
index a6a06c51..f0e50bb0 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyTest.java
@@ -53,7 +53,7 @@ void decryptionWithInvalidAssociatedDataFails() throws Exception {
byte[] cipherText = ecies.encrypt(publicKey, INITIAL_TEXT, CONTEXT_INFO);
- Exception exception = assertThrows(GeneralSecurityException.class, () -> ecies.decrypt(privateKey, cipherText, "abc".getBytes(StandardCharsets.UTF_8)));
+ Exception exception = assertThrows(GeneralSecurityException.class, () -> ecies.decrypt(privateKey, cipherText, "manipulation".getBytes(StandardCharsets.UTF_8)));
assertTrue(exception.getMessage().contains("decryption failed"));
}
From a0a58814274fdf61ca090f0a8cd2d246d729290f Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Apr 2021 13:19:15 +0200
Subject: [PATCH 054/602] replaced main method with JUnit test
---
.../tink/signature/EcdsaWithGeneratedKey.java | 32 +++-----------
.../signature/EcdsaWithGeneratedKeyTest.java | 43 +++++++++++++++++++
2 files changed, 50 insertions(+), 25 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKeyTest.java
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
index 01ba2262..b16ff6df 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
@@ -22,7 +22,6 @@
import com.google.crypto.tink.PublicKeyVerify;
import com.google.crypto.tink.signature.EcdsaSignKeyManager;
import com.google.crypto.tink.signature.SignatureConfig;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,12 +35,11 @@
*/
public class EcdsaWithGeneratedKey {
private static final Logger log = LoggerFactory.getLogger(EcdsaWithGeneratedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
/**
* Init SignatureConfig in the Tink library.
*/
- private EcdsaWithGeneratedKey() {
+ public EcdsaWithGeneratedKey() {
try {
SignatureConfig.register();
} catch (GeneralSecurityException ex) {
@@ -49,40 +47,24 @@ private EcdsaWithGeneratedKey() {
}
}
- public static void main(String[] args) {
- EcdsaWithGeneratedKey demo = new EcdsaWithGeneratedKey();
-
- try {
- KeysetHandle privateKeysetHandle = demo.generatePrivateKey();
- KeysetHandle publicKeysetHandle = demo.generatePublicKey(privateKeysetHandle);
-
- byte[] signature = demo.sign(privateKeysetHandle);
- boolean valid = demo.verify(publicKeysetHandle, signature);
-
- TinkUtils.printSignatureData(privateKeysetHandle, publicKeysetHandle, INITIAL_TEXT, signature, valid);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- }
- }
-
- private KeysetHandle generatePrivateKey() throws GeneralSecurityException {
+ public KeysetHandle generatePrivateKey() throws GeneralSecurityException {
return KeysetHandle.generateNew(EcdsaSignKeyManager.ecdsaP256Template());
}
- private KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
+ public KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
return privateKeysetHandle.getPublicKeysetHandle();
}
- private byte[] sign(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
+ public byte[] sign(KeysetHandle privateKeysetHandle, byte[] initialText) throws GeneralSecurityException {
PublicKeySign signer = privateKeysetHandle.getPrimitive(PublicKeySign.class);
- return signer.sign(INITIAL_TEXT.getBytes());
+ return signer.sign(initialText);
}
- private boolean verify(KeysetHandle publicKeysetHandle, byte[] signature) {
+ public boolean verify(KeysetHandle publicKeysetHandle, byte[] signature, byte[] initialText) {
try {
PublicKeyVerify verifier = publicKeysetHandle.getPrimitive(PublicKeyVerify.class);
- verifier.verify(signature, INITIAL_TEXT.getBytes());
+ verifier.verify(signature, initialText);
return true;
} catch (GeneralSecurityException ex) {
log.error("Signature is invalid", ex);
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKeyTest.java
new file mode 100644
index 00000000..20aa386a
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKeyTest.java
@@ -0,0 +1,43 @@
+package de.dominikschadow.javasecurity.tink.signature;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class EcdsaWithGeneratedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+
+ private final EcdsaWithGeneratedKey ecdsa = new EcdsaWithGeneratedKey();
+
+ @Test
+ void unchangedInputValidatesSuccessful() throws Exception {
+ KeysetHandle privateKey = ecdsa.generatePrivateKey();
+ KeysetHandle publicKey = ecdsa.generatePublicKey(privateKey);
+
+ byte[] signature = ecdsa.sign(privateKey, INITIAL_TEXT);
+ boolean validation = ecdsa.verify(publicKey, signature, INITIAL_TEXT);
+
+ Assertions.assertAll(
+ () -> assertTrue(signature.length > 0),
+ () -> assertTrue(validation)
+ );
+ }
+
+ @Test
+ void changedInputValidationFails() throws Exception {
+ KeysetHandle privateKey = ecdsa.generatePrivateKey();
+ KeysetHandle publicKey = ecdsa.generatePublicKey(privateKey);
+
+ byte[] signature = ecdsa.sign(privateKey, INITIAL_TEXT);
+ boolean validation = ecdsa.verify(publicKey, signature, "Manipulation".getBytes(StandardCharsets.UTF_8));
+
+ Assertions.assertAll(
+ () -> assertTrue(signature.length > 0),
+ () -> assertFalse(validation)
+ );
+ }
+}
\ No newline at end of file
From 403d1f5d83947e4b198a502441834d5c0515178d Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Apr 2021 13:25:11 +0200
Subject: [PATCH 055/602] replaced main method with JUnit test
---
.../tink/signature/EcdsaWithSavedKey.java | 59 +++++--------------
.../tink/signature/EcdsaWithSavedKeyTest.java | 55 +++++++++++++++++
.../keysets/signature-ecdsa-private.json | 0
.../keysets/signature-ecdsa-public.json | 0
4 files changed, 70 insertions(+), 44 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKeyTest.java
rename crypto-tink/src/{main => test}/resources/keysets/signature-ecdsa-private.json (100%)
rename crypto-tink/src/{main => test}/resources/keysets/signature-ecdsa-public.json (100%)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
index d913bcf6..33818322 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
@@ -20,7 +20,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.signature.EcdsaSignKeyManager;
import com.google.crypto.tink.signature.SignatureConfig;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,14 +35,11 @@
*/
public class EcdsaWithSavedKey {
private static final Logger log = LoggerFactory.getLogger(EcdsaWithSavedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String PRIVATE_KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/signature-ecdsa-private.json";
- private static final String PUBLIC_KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/signature-ecdsa-public.json";
/**
* Init SignatureConfig in the Tink library.
*/
- private EcdsaWithSavedKey() {
+ public EcdsaWithSavedKey() {
try {
SignatureConfig.register();
} catch (GeneralSecurityException ex) {
@@ -51,44 +47,21 @@ private EcdsaWithSavedKey() {
}
}
- public static void main(String[] args) {
- EcdsaWithSavedKey demo = new EcdsaWithSavedKey();
-
- try {
- demo.generateAndStorePrivateKey();
- KeysetHandle privateKeysetHandle = demo.loadPrivateKey();
-
- demo.generateAndStorePublicKey(privateKeysetHandle);
- KeysetHandle publicKeysetHandle = demo.loadPublicKey();
-
- byte[] signature = demo.sign(privateKeysetHandle);
- boolean valid = demo.verify(publicKeysetHandle, signature);
-
- TinkUtils.printSignatureData(privateKeysetHandle, publicKeysetHandle, INITIAL_TEXT, signature, valid);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- } catch (IOException ex) {
- log.error("Failure during storing key", ex);
- }
- }
-
/**
* Stores the private keyset in the projects resources/keysets directory if it does not exist yet.
*
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- private void generateAndStorePrivateKey() throws IOException, GeneralSecurityException {
- File keysetFile = new File(PRIVATE_KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStorePrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = KeysetHandle.generateNew(EcdsaSignKeyManager.ecdsaP256Template());
- CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
+ CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
- private KeysetHandle loadPrivateKey() throws IOException, GeneralSecurityException {
- return CleartextKeysetHandle.read(JsonKeysetReader.withFile(new File(PRIVATE_KEYSET_FILENAME)));
+ public KeysetHandle loadPrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ return CleartextKeysetHandle.read(JsonKeysetReader.withFile(keyset));
}
/**
@@ -97,29 +70,27 @@ private KeysetHandle loadPrivateKey() throws IOException, GeneralSecurityExcepti
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- private void generateAndStorePublicKey(KeysetHandle privateKeysetHandle) throws IOException, GeneralSecurityException {
- File keysetFile = new File(PUBLIC_KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStorePublicKey(KeysetHandle privateKeysetHandle, File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = privateKeysetHandle.getPublicKeysetHandle();
- CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
+ CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
- private KeysetHandle loadPublicKey() throws IOException, GeneralSecurityException {
- return CleartextKeysetHandle.read(JsonKeysetReader.withFile(new File(PUBLIC_KEYSET_FILENAME)));
+ public KeysetHandle loadPublicKey(File keyset) throws IOException, GeneralSecurityException {
+ return CleartextKeysetHandle.read(JsonKeysetReader.withFile(keyset));
}
- private byte[] sign(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
+ public byte[] sign(KeysetHandle privateKeysetHandle, byte[] initialText) throws GeneralSecurityException {
PublicKeySign signer = privateKeysetHandle.getPrimitive(PublicKeySign.class);
- return signer.sign(INITIAL_TEXT.getBytes());
+ return signer.sign(initialText);
}
- private boolean verify(KeysetHandle publicKeysetHandle, byte[] signature) {
+ public boolean verify(KeysetHandle publicKeysetHandle, byte[] signature, byte[] initialText) {
try {
PublicKeyVerify verifier = publicKeysetHandle.getPrimitive(PublicKeyVerify.class);
- verifier.verify(signature, INITIAL_TEXT.getBytes());
+ verifier.verify(signature, initialText);
return true;
} catch (GeneralSecurityException ex) {
log.error("Signature is invalid", ex);
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKeyTest.java
new file mode 100644
index 00000000..9c435387
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKeyTest.java
@@ -0,0 +1,55 @@
+package de.dominikschadow.javasecurity.tink.signature;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+class EcdsaWithSavedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final String PRIVATE_KEYSET_FILENAME = "src/test/resources/keysets/signature-ecdsa-private.json";
+ private static final String PUBLIC_KEYSET_FILENAME = "src/test/resources/keysets/signature-ecdsa-public.json";
+ private final File privateKeysetFile = new File(PRIVATE_KEYSET_FILENAME);
+ private final File publicKeysetFile = new File(PUBLIC_KEYSET_FILENAME);
+ private KeysetHandle publicKey;
+ private KeysetHandle privateKey;
+
+ private final EcdsaWithSavedKey ecdsa = new EcdsaWithSavedKey();
+
+ @BeforeEach
+ protected void setup() throws Exception {
+ ecdsa.generateAndStorePrivateKey(privateKeysetFile);
+ privateKey = ecdsa.loadPrivateKey(privateKeysetFile);
+
+ ecdsa.generateAndStorePublicKey(privateKey, publicKeysetFile);
+ publicKey = ecdsa.loadPublicKey(publicKeysetFile);
+ }
+
+ @Test
+ void unchangedInputValidatesSuccessful() throws Exception {
+ byte[] signature = ecdsa.sign(privateKey, INITIAL_TEXT);
+ boolean validation = ecdsa.verify(publicKey, signature, INITIAL_TEXT);
+
+ Assertions.assertAll(
+ () -> assertTrue(signature.length > 0),
+ () -> assertTrue(validation)
+ );
+ }
+
+ @Test
+ void changedInputValidationFails() throws Exception {
+ byte[] signature = ecdsa.sign(privateKey, INITIAL_TEXT);
+ boolean validation = ecdsa.verify(publicKey, signature, "Manipulation".getBytes(StandardCharsets.UTF_8));
+
+ Assertions.assertAll(
+ () -> assertTrue(signature.length > 0),
+ () -> assertFalse(validation)
+ );
+ }
+}
\ No newline at end of file
diff --git a/crypto-tink/src/main/resources/keysets/signature-ecdsa-private.json b/crypto-tink/src/test/resources/keysets/signature-ecdsa-private.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/signature-ecdsa-private.json
rename to crypto-tink/src/test/resources/keysets/signature-ecdsa-private.json
diff --git a/crypto-tink/src/main/resources/keysets/signature-ecdsa-public.json b/crypto-tink/src/test/resources/keysets/signature-ecdsa-public.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/signature-ecdsa-public.json
rename to crypto-tink/src/test/resources/keysets/signature-ecdsa-public.json
From 7122246a73bfe670f69b2bfbf184e12b5cd956c6 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Apr 2021 13:27:23 +0200
Subject: [PATCH 056/602] refactoring
---
.../tink/aead/AesEaxWithGeneratedKeyTest.java | 14 +++++++-------
.../tink/aead/AesGcmWithSavedKeyTest.java | 12 ++++++------
.../tink/mac/HmacShaWithGeneratedKeyTest.java | 1 +
3 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
index 51bd7a00..7c609289 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKeyTest.java
@@ -30,14 +30,14 @@ class AesEaxWithGeneratedKeyTest {
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
- private final AesEaxWithGeneratedKey aesEax = new AesEaxWithGeneratedKey();
+ private final AesEaxWithGeneratedKey aes = new AesEaxWithGeneratedKey();
@Test
void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
- KeysetHandle secretKey = aesEax.generateKey();
+ KeysetHandle secretKey = aes.generateKey();
- byte[] cipherText = aesEax.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
- byte[] plainText = aesEax.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
+ byte[] cipherText = aes.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] plainText = aes.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
Assertions.assertAll(
() -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
@@ -47,11 +47,11 @@ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
@Test
void decryptionWithInvalidAssociatedDataFails() throws Exception {
- KeysetHandle secretKey = aesEax.generateKey();
+ KeysetHandle secretKey = aes.generateKey();
- byte[] cipherText = aesEax.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] cipherText = aes.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
- Exception exception = assertThrows(GeneralSecurityException.class, () -> aesEax.decrypt(secretKey, cipherText, "manipulation".getBytes(StandardCharsets.UTF_8)));
+ Exception exception = assertThrows(GeneralSecurityException.class, () -> aes.decrypt(secretKey, cipherText, "manipulation".getBytes(StandardCharsets.UTF_8)));
assertTrue(exception.getMessage().contains("decryption failed"));
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
index 6f797b04..d37112ca 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKeyTest.java
@@ -33,20 +33,20 @@ class AesGcmWithSavedKeyTest {
private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
private static final String KEYSET_FILENAME = "src/test/resources/keysets/aead-aes-gcm.json";
private final File keysetFile = new File(KEYSET_FILENAME);
-
- private final AesGcmWithSavedKey aesEax = new AesGcmWithSavedKey();
private KeysetHandle secretKey;
+ private final AesGcmWithSavedKey aes = new AesGcmWithSavedKey();
+
@BeforeEach
protected void setup() throws Exception {
- aesEax.generateAndStoreKey(keysetFile);
- secretKey = aesEax.loadKey(keysetFile);
+ aes.generateAndStoreKey(keysetFile);
+ secretKey = aes.loadKey(keysetFile);
}
@Test
void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
- byte[] cipherText = aesEax.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
- byte[] plainText = aesEax.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
+ byte[] cipherText = aes.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] plainText = aes.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
Assertions.assertAll(
() -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
index 726eaab2..cb9f2994 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
@@ -10,6 +10,7 @@
class HmacShaWithGeneratedKeyTest {
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+
private final HmacShaWithGeneratedKey hmac = new HmacShaWithGeneratedKey();
@Test
From 16d10c90dd9aed44783a967aad3661cf45bc55e2 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Apr 2021 13:33:26 +0200
Subject: [PATCH 057/602] replaced main method with JUnit test
---
.../tink/aead/AesGcmWithAwsKmsSavedKey.java | 45 +++++--------------
.../aead/AesGcmWithAwsKmsSavedKeyTest.java | 41 +++++++++++++++++
.../resources/keysets/aead-aes-gcm-kms.json | 0
3 files changed, 51 insertions(+), 35 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
rename crypto-tink/src/{main => test}/resources/keysets/aead-aes-gcm-kms.json (100%)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index 8e8f347c..d50d3faa 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -24,7 +24,6 @@
import com.google.crypto.tink.aead.AeadConfig;
import com.google.crypto.tink.aead.AesGcmKeyManager;
import com.google.crypto.tink.integration.awskms.AwsKmsClient;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,14 +47,11 @@
*/
public class AesGcmWithAwsKmsSavedKey {
private static final Logger log = LoggerFactory.getLogger(AesGcmWithAwsKmsSavedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String ASSOCIATED_DATA = "Some additional data";
- private static final String KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/aead-aes-gcm-kms.json";
/**
* Init AeadConfig in the Tink library.
*/
- private AesGcmWithAwsKmsSavedKey() {
+ public AesGcmWithAwsKmsSavedKey() {
try {
AeadConfig.register();
} catch (GeneralSecurityException ex) {
@@ -63,54 +59,33 @@ private AesGcmWithAwsKmsSavedKey() {
}
}
- public static void main(String[] args) {
- AesGcmWithAwsKmsSavedKey demo = new AesGcmWithAwsKmsSavedKey();
-
- try {
- demo.generateAndStoreKey();
-
- KeysetHandle keysetHandle = demo.loadKey();
-
- byte[] cipherText = demo.encrypt(keysetHandle);
- byte[] plainText = demo.decrypt(keysetHandle, cipherText);
-
- TinkUtils.printSymmetricEncryptionData(keysetHandle, INITIAL_TEXT, cipherText, plainText);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- } catch (IOException ex) {
- log.error("Failure during storing key", ex);
- }
- }
-
/**
* Stores the encrypted keyset in the projects resources/keysets directory if it does not exist yet.
*
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- private void generateAndStoreKey() throws IOException, GeneralSecurityException {
- File keysetFile = new File(KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStoreKey(File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = KeysetHandle.generateNew(AesGcmKeyManager.aes128GcmTemplate());
- keysetHandle.write(JsonKeysetWriter.withFile(keysetFile), new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
+ keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
}
}
- private KeysetHandle loadKey() throws IOException, GeneralSecurityException {
- return KeysetHandle.read(JsonKeysetReader.withFile(new File(KEYSET_FILENAME)),
+ public KeysetHandle loadKey(File keyset) throws IOException, GeneralSecurityException {
+ return KeysetHandle.read(JsonKeysetReader.withFile(keyset),
new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
}
- private byte[] encrypt(KeysetHandle keysetHandle) throws GeneralSecurityException {
+ public byte[] encrypt(KeysetHandle keysetHandle, byte[] initialText, byte[] associatedData) throws GeneralSecurityException {
Aead aead = keysetHandle.getPrimitive(Aead.class);
- return aead.encrypt(INITIAL_TEXT.getBytes(), ASSOCIATED_DATA.getBytes());
+ return aead.encrypt(initialText, associatedData);
}
- private byte[] decrypt(KeysetHandle keysetHandle, byte[] cipherText) throws GeneralSecurityException {
+ public byte[] decrypt(KeysetHandle keysetHandle, byte[] cipherText, byte[] associatedData) throws GeneralSecurityException {
Aead aead = keysetHandle.getPrimitive(Aead.class);
- return aead.decrypt(cipherText, ASSOCIATED_DATA.getBytes());
+ return aead.decrypt(cipherText, associatedData);
}
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
new file mode 100644
index 00000000..3bffe5d0
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
@@ -0,0 +1,41 @@
+package de.dominikschadow.javasecurity.tink.aead;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+
+class AesGcmWithAwsKmsSavedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
+ private static final String KEYSET_FILENAME = "src/test/resources/keysets/aead-aes-gcm-kms.json";
+ private final File keysetFile = new File(KEYSET_FILENAME);
+ private KeysetHandle secretKey;
+
+ private final AesGcmWithAwsKmsSavedKey aes = new AesGcmWithAwsKmsSavedKey();
+
+ @BeforeEach
+ protected void setup() throws Exception {
+ aes.generateAndStoreKey(keysetFile);
+ secretKey = aes.loadKey(keysetFile);
+ }
+
+ @Test
+ @Disabled("This test requires AWS KMS configuration")
+ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
+ byte[] cipherText = aes.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
+ byte[] plainText = aes.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
+
+ Assertions.assertAll(
+ () -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
+ () -> assertEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(plainText, StandardCharsets.UTF_8))
+ );
+ }
+}
\ No newline at end of file
diff --git a/crypto-tink/src/main/resources/keysets/aead-aes-gcm-kms.json b/crypto-tink/src/test/resources/keysets/aead-aes-gcm-kms.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/aead-aes-gcm-kms.json
rename to crypto-tink/src/test/resources/keysets/aead-aes-gcm-kms.json
From 71167d152d0760e47d896148010a561a7bfc8b84 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Apr 2021 13:37:56 +0200
Subject: [PATCH 058/602] replaced main method with JUnit test
---
.../tink/hybrid/EciesWithAwsKmsSavedKey.java | 61 +++++--------------
.../hybrid/EciesWithAwsKmsSavedKeyTest.java | 47 ++++++++++++++
.../keysets/hybrid-ecies-kms-private.json | 0
.../keysets/hybrid-ecies-kms-public.json | 0
4 files changed, 63 insertions(+), 45 deletions(-)
create mode 100644 crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
rename crypto-tink/src/{main => test}/resources/keysets/hybrid-ecies-kms-private.json (100%)
rename crypto-tink/src/{main => test}/resources/keysets/hybrid-ecies-kms-public.json (100%)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
index bbd5762f..2d972edd 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
@@ -21,7 +21,6 @@
import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
import com.google.crypto.tink.integration.awskms.AwsKmsClient;
-import de.dominikschadow.javasecurity.tink.TinkUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,15 +44,11 @@
*/
public class EciesWithAwsKmsSavedKey {
private static final Logger log = LoggerFactory.getLogger(EciesWithAwsKmsSavedKey.class);
- private static final String INITIAL_TEXT = "Some dummy text to work with";
- private static final String CONTEXT_INFO = "Some additional data";
- private static final String PRIVATE_KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/hybrid-ecies-kms-private.json";
- private static final String PUBLIC_KEYSET_FILENAME = "crypto-tink/src/main/resources/keysets/hybrid-ecies-kms-public.json";
/**
* Init AeadConfig in the Tink library.
*/
- private EciesWithAwsKmsSavedKey() {
+ public EciesWithAwsKmsSavedKey() {
try {
HybridConfig.register();
} catch (GeneralSecurityException ex) {
@@ -61,44 +56,22 @@ private EciesWithAwsKmsSavedKey() {
}
}
- public static void main(String[] args) {
- EciesWithAwsKmsSavedKey demo = new EciesWithAwsKmsSavedKey();
-
- try {
- demo.generateAndStorePrivateKey();
- KeysetHandle privateKeysetHandle = demo.loadPrivateKey();
-
- demo.generateAndStorePublicKey(privateKeysetHandle);
- KeysetHandle publicKeysetHandle = demo.loadPublicKey();
-
- byte[] cipherText = demo.encrypt(publicKeysetHandle);
- byte[] plainText = demo.decrypt(privateKeysetHandle, cipherText);
-
- TinkUtils.printHybridEncryptionData(privateKeysetHandle, publicKeysetHandle, INITIAL_TEXT, cipherText, plainText);
- } catch (GeneralSecurityException ex) {
- log.error("Failure during Tink usage", ex);
- } catch (IOException ex) {
- log.error("Failure during storing key", ex);
- }
- }
-
/**
* Stores the encrypted keyset in the projects resources/keysets directory if it does not exist yet.
*
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
+ * @param keyset
*/
- private void generateAndStorePrivateKey() throws IOException, GeneralSecurityException {
- File keysetFile = new File(PRIVATE_KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStorePrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
- keysetHandle.write(JsonKeysetWriter.withFile(keysetFile), new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
+ keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
}
}
- private KeysetHandle loadPrivateKey() throws IOException, GeneralSecurityException {
- return KeysetHandle.read(JsonKeysetReader.withFile(new File(PRIVATE_KEYSET_FILENAME)),
+ public KeysetHandle loadPrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ return KeysetHandle.read(JsonKeysetReader.withFile(keyset),
new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
}
@@ -108,28 +81,26 @@ private KeysetHandle loadPrivateKey() throws IOException, GeneralSecurityExcepti
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- private void generateAndStorePublicKey(KeysetHandle privateKeysetHandle) throws IOException, GeneralSecurityException {
- File keysetFile = new File(PUBLIC_KEYSET_FILENAME);
-
- if (!keysetFile.exists()) {
+ public void generateAndStorePublicKey(KeysetHandle privateKeysetHandle, File keyset) throws IOException, GeneralSecurityException {
+ if (!keyset.exists()) {
KeysetHandle keysetHandle = privateKeysetHandle.getPublicKeysetHandle();
- CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keysetFile));
+ CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
- private KeysetHandle loadPublicKey() throws IOException, GeneralSecurityException {
- return CleartextKeysetHandle.read(JsonKeysetReader.withFile(new File(PUBLIC_KEYSET_FILENAME)));
+ public KeysetHandle loadPublicKey(File keyset) throws IOException, GeneralSecurityException {
+ return CleartextKeysetHandle.read(JsonKeysetReader.withFile(keyset));
}
- private byte[] encrypt(KeysetHandle publicKeysetHandle) throws GeneralSecurityException {
+ public byte[] encrypt(KeysetHandle publicKeysetHandle, byte[] initialText, byte[] contextInfo) throws GeneralSecurityException {
HybridEncrypt hybridEncrypt = publicKeysetHandle.getPrimitive(HybridEncrypt.class);
- return hybridEncrypt.encrypt(INITIAL_TEXT.getBytes(), CONTEXT_INFO.getBytes());
+ return hybridEncrypt.encrypt(initialText, contextInfo);
}
- private byte[] decrypt(KeysetHandle privateKeysetHandle, byte[] cipherText) throws GeneralSecurityException {
+ public byte[] decrypt(KeysetHandle privateKeysetHandle, byte[] cipherText, byte[] contextInfo) throws GeneralSecurityException {
HybridDecrypt hybridDecrypt = privateKeysetHandle.getPrimitive(HybridDecrypt.class);
- return hybridDecrypt.decrypt(cipherText, CONTEXT_INFO.getBytes());
+ return hybridDecrypt.decrypt(cipherText, contextInfo);
}
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
new file mode 100644
index 00000000..5edddfb7
--- /dev/null
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
@@ -0,0 +1,47 @@
+package de.dominikschadow.javasecurity.tink.hybrid;
+
+import com.google.crypto.tink.KeysetHandle;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+
+class EciesWithAwsKmsSavedKeyTest {
+ private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] CONTEXT_INFO = "Some additional data".getBytes(StandardCharsets.UTF_8);
+ private static final String PRIVATE_KEYSET_FILENAME = "src/test/resources/keysets/hybrid-ecies-kms-private.json";
+ private static final String PUBLIC_KEYSET_FILENAME = "src/test/resources/keysets/hybrid-ecies-kms-public.json";
+ private final File privateKeysetFile = new File(PRIVATE_KEYSET_FILENAME);
+ private final File publicKeysetFile = new File(PUBLIC_KEYSET_FILENAME);
+ private KeysetHandle publicKey;
+ private KeysetHandle privateKey;
+
+ private final EciesWithAwsKmsSavedKey ecies = new EciesWithAwsKmsSavedKey();
+
+ @BeforeEach
+ protected void setup() throws Exception {
+ ecies.generateAndStorePrivateKey(privateKeysetFile);
+ privateKey = ecies.loadPrivateKey(privateKeysetFile);
+
+ ecies.generateAndStorePublicKey(privateKey, publicKeysetFile);
+ publicKey = ecies.loadPublicKey(publicKeysetFile);
+ }
+
+ @Test
+ @Disabled("This test requires AWS KMS configuration")
+ void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
+ byte[] cipherText = ecies.encrypt(publicKey, INITIAL_TEXT, CONTEXT_INFO);
+ byte[] plainText = ecies.decrypt(privateKey, cipherText, CONTEXT_INFO);
+
+ Assertions.assertAll(
+ () -> assertNotEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(cipherText, StandardCharsets.UTF_8)),
+ () -> assertEquals(new String(INITIAL_TEXT, StandardCharsets.UTF_8), new String(plainText, StandardCharsets.UTF_8))
+ );
+ }
+}
\ No newline at end of file
diff --git a/crypto-tink/src/main/resources/keysets/hybrid-ecies-kms-private.json b/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/hybrid-ecies-kms-private.json
rename to crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json
diff --git a/crypto-tink/src/main/resources/keysets/hybrid-ecies-kms-public.json b/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json
similarity index 100%
rename from crypto-tink/src/main/resources/keysets/hybrid-ecies-kms-public.json
rename to crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json
From e59b3376feebcbe1b1668b943e41689916a45585 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 3 Apr 2021 13:41:50 +0200
Subject: [PATCH 059/602] Removed unused utils class
---
.../javasecurity/tink/TinkUtils.java | 83 -------------------
.../tink/aead/AesGcmWithAwsKmsSavedKey.java | 10 +--
.../tink/hybrid/EciesWithAwsKmsSavedKey.java | 10 +--
.../aead/AesGcmWithAwsKmsSavedKeyTest.java | 5 +-
.../hybrid/EciesWithAwsKmsSavedKeyTest.java | 5 +-
5 files changed, 14 insertions(+), 99 deletions(-)
delete mode 100644 crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
deleted file mode 100644
index 10f97b09..00000000
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/TinkUtils.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2021 Dominik Schadow, dominikschadow@gmail.com
- *
- * This file is part of the Java Security project.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package de.dominikschadow.javasecurity.tink;
-
-import com.google.common.io.BaseEncoding;
-import com.google.crypto.tink.CleartextKeysetHandle;
-import com.google.crypto.tink.JsonKeysetWriter;
-import com.google.crypto.tink.KeysetHandle;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-
-/**
- * Google Tink utils for this demo project.
- *
- * @author Dominik Schadow
- */
-public class TinkUtils {
- private static final Logger log = LoggerFactory.getLogger(TinkUtils.class);
- public static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/cce9ce6d-526c-44ca-9189-45c54b90f070";
-
- public static void printKeyset(String type, KeysetHandle keysetHandle) {
- try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
- CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withOutputStream(outputStream));
-
- log.info("{}: {}", type, outputStream.toString());
- } catch (IOException ex) {
- log.error("Failed to write keyset", ex);
- }
- }
-
- public static void printSymmetricEncryptionData(KeysetHandle keysetHandle, String initialText, byte[] cipherText, byte[] plainText) {
- log.info("initial text: {}", initialText);
- log.info("cipher text: {}", BaseEncoding.base16().encode(cipherText));
- log.info("plain text: {}", new String(plainText, StandardCharsets.UTF_8));
-
- printKeyset("keyset data", keysetHandle);
- }
-
- public static void printHybridEncryptionData(KeysetHandle privateKeysetHandle, KeysetHandle publicKeysetHandle, String initialText, byte[] cipherText, byte[] plainText) {
- log.info("initial text: {}", initialText);
- log.info("cipher text: {}", BaseEncoding.base16().encode(cipherText));
- log.info("plain text: {}", new String(plainText, StandardCharsets.UTF_8));
-
- printKeyset("private key set data", privateKeysetHandle);
- printKeyset("public key set data", publicKeysetHandle);
- }
-
- public static void printMacData(KeysetHandle keysetHandle, String initialText, byte[] tag, boolean valid) {
- log.info("initial text: {}", initialText);
- log.info("MAC: {}", BaseEncoding.base16().encode(tag));
- log.info("MAC is valid: {}", valid);
-
- printKeyset("keyset data", keysetHandle);
- }
-
- public static void printSignatureData(KeysetHandle privateKeysetHandle, KeysetHandle publicKeysetHandle, String initialText, byte[] signature, boolean valid) {
- log.info("initial text: {}", initialText);
- log.info("signature: {}", BaseEncoding.base16().encode(signature));
- log.info("signature is valid: {}", valid);
-
- printKeyset("private key set data", privateKeysetHandle);
- printKeyset("public key set data", publicKeysetHandle);
- }
-}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index d50d3faa..6b4dd0a8 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -31,8 +31,6 @@
import java.io.IOException;
import java.security.GeneralSecurityException;
-import static de.dominikschadow.javasecurity.tink.TinkUtils.AWS_MASTER_KEY_URI;
-
/**
* Shows crypto usage with Google Tink for the Authenticated Encryption with Associated Data (AEAD) primitive. The used
* key is stored and loaded from AWS KMS. Requires a master key available in AWS KMS and correctly configured
@@ -65,16 +63,16 @@ public AesGcmWithAwsKmsSavedKey() {
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- public void generateAndStoreKey(File keyset) throws IOException, GeneralSecurityException {
+ public void generateAndStoreKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
KeysetHandle keysetHandle = KeysetHandle.generateNew(AesGcmKeyManager.aes128GcmTemplate());
- keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
+ keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
}
}
- public KeysetHandle loadKey(File keyset) throws IOException, GeneralSecurityException {
+ public KeysetHandle loadKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
return KeysetHandle.read(JsonKeysetReader.withFile(keyset),
- new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
+ new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
}
public byte[] encrypt(KeysetHandle keysetHandle, byte[] initialText, byte[] associatedData) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
index 2d972edd..51d0285c 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
@@ -28,8 +28,6 @@
import java.io.IOException;
import java.security.GeneralSecurityException;
-import static de.dominikschadow.javasecurity.tink.TinkUtils.AWS_MASTER_KEY_URI;
-
/**
* Shows crypto usage with Google Tink for the HybridEncrypt primitive. The used key is stored and loaded from AWS KMS.
* Requires a master key available in AWS KMS and correctly configured credentials to access AWS KMS: AWS_ACCESS_KEY_ID
@@ -63,16 +61,16 @@ public EciesWithAwsKmsSavedKey() {
* @throws GeneralSecurityException Failure during keyset generation
* @param keyset
*/
- public void generateAndStorePrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ public void generateAndStorePrivateKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
KeysetHandle keysetHandle = KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
- keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
+ keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
}
}
- public KeysetHandle loadPrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ public KeysetHandle loadPrivateKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
return KeysetHandle.read(JsonKeysetReader.withFile(keyset),
- new AwsKmsClient().withDefaultCredentials().getAead(AWS_MASTER_KEY_URI));
+ new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
}
/**
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
index 3bffe5d0..6b54eb8a 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
@@ -13,6 +13,7 @@
import static org.junit.jupiter.api.Assertions.assertNotEquals;
class AesGcmWithAwsKmsSavedKeyTest {
+ private static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/cce9ce6d-526c-44ca-9189-45c54b90f070";
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
private static final String KEYSET_FILENAME = "src/test/resources/keysets/aead-aes-gcm-kms.json";
@@ -23,8 +24,8 @@ class AesGcmWithAwsKmsSavedKeyTest {
@BeforeEach
protected void setup() throws Exception {
- aes.generateAndStoreKey(keysetFile);
- secretKey = aes.loadKey(keysetFile);
+ aes.generateAndStoreKey(keysetFile, AWS_MASTER_KEY_URI);
+ secretKey = aes.loadKey(keysetFile, AWS_MASTER_KEY_URI);
}
@Test
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
index 5edddfb7..5cdaa60f 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
@@ -13,6 +13,7 @@
import static org.junit.jupiter.api.Assertions.assertNotEquals;
class EciesWithAwsKmsSavedKeyTest {
+ private static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/cce9ce6d-526c-44ca-9189-45c54b90f070";
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] CONTEXT_INFO = "Some additional data".getBytes(StandardCharsets.UTF_8);
private static final String PRIVATE_KEYSET_FILENAME = "src/test/resources/keysets/hybrid-ecies-kms-private.json";
@@ -26,8 +27,8 @@ class EciesWithAwsKmsSavedKeyTest {
@BeforeEach
protected void setup() throws Exception {
- ecies.generateAndStorePrivateKey(privateKeysetFile);
- privateKey = ecies.loadPrivateKey(privateKeysetFile);
+ ecies.generateAndStorePrivateKey(privateKeysetFile, AWS_MASTER_KEY_URI);
+ privateKey = ecies.loadPrivateKey(privateKeysetFile, AWS_MASTER_KEY_URI);
ecies.generateAndStorePublicKey(privateKey, publicKeysetFile);
publicKey = ecies.loadPublicKey(publicKeysetFile);
From bac9e2bdf9116b2997ca7ee7e92915a7c4dce7fa Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 4 Apr 2021 10:39:47 +0200
Subject: [PATCH 060/602] Create dependabot.yml
---
.github/dependabot.yml | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 .github/dependabot.yml
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..76e22beb
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,11 @@
+# To get started with Dependabot version updates, you'll need to specify which
+# package ecosystems to update and where the package manifests are located.
+# Please see the documentation for all configuration options:
+# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+ - package-ecosystem: "maven" # See documentation for possible values
+ directory: "/" # Location of package manifests
+ schedule:
+ interval: "daily"
From effbf7097eba67fa2681b697b48570e7b939e0f4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 4 Apr 2021 08:40:12 +0000
Subject: [PATCH 061/602] Bump findsecbugs-plugin from LATEST to 1.11.0
Bumps [findsecbugs-plugin](https://github.com/find-sec-bugs/find-sec-bugs) from LATEST to 1.11.0.
- [Release notes](https://github.com/find-sec-bugs/find-sec-bugs/releases)
- [Changelog](https://github.com/find-sec-bugs/find-sec-bugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/find-sec-bugs/find-sec-bugs/commits/version-1.11.0)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ab8820fa..15920494 100644
--- a/pom.xml
+++ b/pom.xml
@@ -218,7 +218,7 @@
com.h3xstream.findsecbugs
findsecbugs-plugin
- LATEST
+ 1.11.0
From a7966bbefe641a7edae572005095a160f67fc9a9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 4 Apr 2021 08:40:16 +0000
Subject: [PATCH 062/602] Bump jetty-maven-plugin from 11.0.1 to 11.0.2
Bumps [jetty-maven-plugin](https://github.com/eclipse/jetty.project) from 11.0.1 to 11.0.2.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.1...jetty-11.0.2)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ab8820fa..ae83b6e6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -160,7 +160,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 11.0.1
+ 11.0.2
org.apache.maven.plugins
From cb0406e0006469fac678413a8a0eea8bb66ebd7f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 4 Apr 2021 08:40:20 +0000
Subject: [PATCH 063/602] Bump dependency-check-maven from 6.1.3 to 6.1.5
Bumps [dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.1.3 to 6.1.5.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.1.3...v6.1.5)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ab8820fa..df544df3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -226,7 +226,7 @@
org.owasp
dependency-check-maven
- 6.1.3
+ 6.1.5
true
From 808d454f149433dd28cc9f101b31ea92659d7ed1 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 10 Apr 2021 13:45:49 +0200
Subject: [PATCH 064/602] Updated license url
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index db7832d8..2698b4f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
Apache License 2.0
- http://www.apache.org/licenses/LICENSE-2.0
+ https://www.apache.org/licenses/LICENSE-2.0.html
From 7d5a970ba07ccd7bd5b1fe32fdc2b0014e656cb9 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Thu, 15 Apr 2021 19:20:30 +0200
Subject: [PATCH 065/602] Updated Spring Boot to 2.4.5
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 2698b4f5..54007b4f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.4
+ 2.4.5
From 05fbe24af12f6477967d3d5a9c4a9d088bf23328 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 17 Apr 2021 13:13:06 +0200
Subject: [PATCH 066/602] removed managed dependency from list
---
pom.xml | 5 -----
1 file changed, 5 deletions(-)
diff --git a/pom.xml b/pom.xml
index 54007b4f..674260f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -96,11 +96,6 @@
log4j-slf4j-impl
${log4j.version}
-
- com.google.code.gson
- gson
- 2.8.6
-
com.google.guava
guava
From 5ed9cabbece34cbab569beb56a75b21ab4f3d8c9 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 17 Apr 2021 15:05:58 +0200
Subject: [PATCH 067/602] added jacoco to projects with unit tests
---
.github/workflows/maven.yml | 2 --
crypto-tink/pom.xml | 9 +++++++++
csrf-spring-security/pom.xml | 4 ++++
intercept-me/pom.xml | 7 ++++++-
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 8b1c2183..ccc3841f 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -7,9 +7,7 @@ on:
jobs:
build:
-
runs-on: ubuntu-latest
-
steps:
- uses: actions/checkout@v2
- name: Set up Java 11
diff --git a/crypto-tink/pom.xml b/crypto-tink/pom.xml
index e61e2a5f..817f8365 100644
--- a/crypto-tink/pom.xml
+++ b/crypto-tink/pom.xml
@@ -44,4 +44,13 @@
test
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+
\ No newline at end of file
diff --git a/csrf-spring-security/pom.xml b/csrf-spring-security/pom.xml
index 167b0be4..d0d5baee 100644
--- a/csrf-spring-security/pom.xml
+++ b/csrf-spring-security/pom.xml
@@ -58,6 +58,10 @@
org.springframework.boot
spring-boot-maven-plugin
+
+ org.jacoco
+ jacoco-maven-plugin
+
\ No newline at end of file
diff --git a/intercept-me/pom.xml b/intercept-me/pom.xml
index 816fa29c..4e96d1ff 100644
--- a/intercept-me/pom.xml
+++ b/intercept-me/pom.xml
@@ -12,7 +12,8 @@
jar
Intercept Me
- Intercept Me sample project. Start via the main method in the Application class. After launching, open the web application in your browser at http://localhost:8080.
+ Intercept Me sample project. Start via the main method in the Application class. After launching, open
+ the web application in your browser at http://localhost:8080.
@@ -52,6 +53,10 @@
org.springframework.boot
spring-boot-maven-plugin
+
+ org.jacoco
+ jacoco-maven-plugin
+
\ No newline at end of file
From 97450ab624bbc029f722b4dd7989210725f58027 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 19 Apr 2021 07:37:43 +0000
Subject: [PATCH 068/602] Bump spotbugs-maven-plugin from 4.2.2 to 4.2.3
Bumps [spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.2.2 to 4.2.3.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/4.2.2...spotbugs-maven-plugin-4.2.3)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 674260f9..32ec8e11 100644
--- a/pom.xml
+++ b/pom.xml
@@ -205,7 +205,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.2.2
+ 4.2.3
Max
Low
From 92672467ec3d077a02e44b1c44f63ee955cf9eb3 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Fri, 30 Apr 2021 13:05:15 +0200
Subject: [PATCH 069/602] Updated dependency-check-maven to 6.1.6
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 32ec8e11..3885145e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -221,7 +221,7 @@
org.owasp
dependency-check-maven
- 6.1.5
+ 6.1.6
true
From 963234d8ad424704e0c6ca0f84df24558272abde Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 1 May 2021 16:22:46 +0200
Subject: [PATCH 070/602] added dependency check as GitHub action
---
.github/workflows/maven.yml | 36 +++++++++++++++++++++++++-----------
1 file changed, 25 insertions(+), 11 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index ccc3841f..3566e693 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -9,14 +9,28 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - name: Set up Java 11
- uses: actions/setup-java@v1
- with:
- java-version: 11
- - name: Build with Maven
- run: mvn -B verify --file pom.xml
- - name: Measure test coverage
- uses: codecov/codecov-action@v1
- with:
- flags: unittests
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Set up Java 11
+ uses: actions/setup-java@v1
+ with:
+ java-version: 11
+ - name: Build with Maven
+ run: mvn -B verify --file pom.xml
+ - name: Dependency Check
+ uses: dependency-check/Dependency-Check_Action@main
+ id: Depcheck
+ with:
+ project: 'test'
+ path: '.'
+ format: 'HTML'
+ others: ''
+ - name: Upload Dependency Check results
+ uses: actions/upload-artifact@master
+ with:
+ name: Depcheck report
+ path: ${{github.workspace}}/reports
+ - name: Measure test coverage
+ uses: codecov/codecov-action@v1
+ with:
+ flags: unittests
\ No newline at end of file
From 64eafa5042ba88132c8a89062ad06fd35498fee4 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 1 May 2021 16:27:01 +0200
Subject: [PATCH 071/602] dependency check updates
---
.github/workflows/maven.yml | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 3566e693..2b67d3b7 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,5 +1,3 @@
-name: Build
-
on:
push:
pull_request:
@@ -11,12 +9,8 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
- - name: Set up Java 11
- uses: actions/setup-java@v1
- with:
- java-version: 11
- name: Build with Maven
- run: mvn -B verify --file pom.xml
+ run: mvn verify
- name: Dependency Check
uses: dependency-check/Dependency-Check_Action@main
id: Depcheck
From 216d695f2b55f791cd685586c27f50d28b238348 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 1 May 2021 16:31:28 +0200
Subject: [PATCH 072/602] added name property
---
.github/workflows/maven.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 2b67d3b7..eb0cda1c 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,3 +1,5 @@
+name: Build
+
on:
push:
pull_request:
From 15230be2040bf979a9641574e233ec96b4147bbd Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 3 May 2021 07:08:07 +0000
Subject: [PATCH 073/602] Bump maven-project-info-reports-plugin from 3.1.1 to
3.1.2
Bumps [maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/apache/maven-project-info-reports-plugin/releases)
- [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.1.1...maven-project-info-reports-plugin-3.1.2)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 3885145e..73acb6eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -165,7 +165,7 @@
org.apache.maven.plugins
maven-project-info-reports-plugin
- 3.1.1
+ 3.1.2
org.springframework.boot
From bd4e8df83cceb2fd7c57497607edbf335841e485 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 3 May 2021 12:52:10 +0200
Subject: [PATCH 074/602] Switched to BufferedInputStream
---
.../dominikschadow/javasecurity/serialize/Deserializer.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Deserializer.java b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Deserializer.java
index 69e7cf1f..1a74c71c 100644
--- a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Deserializer.java
+++ b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Deserializer.java
@@ -17,13 +17,14 @@
*/
package de.dominikschadow.javasecurity.serialize;
+import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class Deserializer {
public static void main(String[] args) {
- try (FileInputStream fis = new FileInputStream("serialize-me.bin"); ObjectInputStream ois = new ObjectInputStream(fis)) {
- SerializeMe me = (SerializeMe) ois.readObject();
+ try (ObjectInputStream is = new ObjectInputStream(new BufferedInputStream(new FileInputStream("serialize-me.bin")))) {
+ SerializeMe me = (SerializeMe) is.readObject();
System.out.println("I am " + me.getFirstname() + " " + me.getLastname());
} catch (Exception ex) {
From 12deed482ec61da8cbae70450ed97bd8f2232d31 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 3 May 2021 12:52:24 +0200
Subject: [PATCH 075/602] added ignore file for Snyk
---
.dcignore | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 .dcignore
diff --git a/.dcignore b/.dcignore
new file mode 100644
index 00000000..e69de29b
From dcf0010c8f6da9e1e20ab0f6ec0870546f255e6e Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 3 May 2021 12:54:04 +0200
Subject: [PATCH 076/602] Minor refactoring
---
.../de/dominikschadow/javasecurity/serialize/Serializer.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Serializer.java b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Serializer.java
index a2da1ad4..c6f42d1f 100644
--- a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Serializer.java
+++ b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/Serializer.java
@@ -26,7 +26,7 @@ public static void main(String[] args) {
serializeMe.setFirstname("Arthur");
serializeMe.setLastname("Dent");
- try (FileOutputStream fos = new FileOutputStream("serialize-me.bin"); ObjectOutputStream oos = new ObjectOutputStream(fos)) {
+ try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("serialize-me.bin"))) {
oos.writeObject(serializeMe);
oos.flush();
} catch (Exception ex) {
From fa66e020fe301a6bfe42cbae442150e0ef39c997 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 5 May 2021 05:59:15 +0000
Subject: [PATCH 077/602] Bump jacoco-maven-plugin from 0.8.6 to 0.8.7
Bumps [jacoco-maven-plugin](https://github.com/jacoco/jacoco) from 0.8.6 to 0.8.7.
- [Release notes](https://github.com/jacoco/jacoco/releases)
- [Commits](https://github.com/jacoco/jacoco/compare/v0.8.6...v0.8.7)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 73acb6eb..a8105ec0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -179,7 +179,7 @@
org.jacoco
jacoco-maven-plugin
- 0.8.6
+ 0.8.7
prepare-agent
From f6d06d8fcefd5b1d8a1e767613a3a90362ba55c0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 17 May 2021 06:38:13 +0000
Subject: [PATCH 078/602] Bump bootstrap from 4.6.0-1 to 5.0.1
Bumps [bootstrap](https://github.com/webjars/bootstrap) from 4.6.0-1 to 5.0.1.
- [Release notes](https://github.com/webjars/bootstrap/releases)
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-4.6.0-1...bootstrap-5.0.1)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index a8105ec0..9def2eec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -131,7 +131,7 @@
org.webjars
bootstrap
- 4.6.0-1
+ 5.0.1
From 5b7131fa6390d868854a14de8f551f3f7f3229b1 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 17 May 2021 06:38:29 +0000
Subject: [PATCH 079/602] Bump junit-bom from 5.7.1 to 5.7.2
Bumps [junit-bom](https://github.com/junit-team/junit5) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.7.1...r5.7.2)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index a8105ec0..115d8c55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -137,7 +137,7 @@
org.junit
junit-bom
- 5.7.1
+ 5.7.2
pom
import
From 450ad06d525431b80eccb8dc27525e585c0f07bf Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 18 May 2021 05:51:22 +0000
Subject: [PATCH 080/602] Bump crypto.tink.version from 1.5.0 to 1.6.0
Bumps `crypto.tink.version` from 1.5.0 to 1.6.0.
Updates `tink` from 1.5.0 to 1.6.0
- [Release notes](https://github.com/google/tink/releases)
- [Commits](https://github.com/google/tink/compare/v1.5.0...v1.6.0)
Updates `tink-awskms` from 1.5.0 to 1.6.0
- [Release notes](https://github.com/google/tink/releases)
- [Commits](https://github.com/google/tink/compare/v1.5.0...v1.6.0)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index a8105ec0..d866a47f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,7 +45,7 @@
2.14.1
1.2.3
- 1.5.0
+ 1.6.0
dschadow
false
UTF-8
From 57d0d1fc7e47500f941150610bdbc6549c453b1e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 21 May 2021 05:52:12 +0000
Subject: [PATCH 081/602] Bump spring-boot-starter-parent from 2.4.5 to 2.5.0
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.4.5 to 2.5.0.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.4.5...v2.5.0)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index a8105ec0..1e43f5f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.5
+ 2.5.0
From 20b9245bcd1714d876a7932a3ca3e71d02be88f5 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Thu, 13 May 2021 16:10:08 +0200
Subject: [PATCH 082/602] Updated dependencies
---
pom.xml | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/pom.xml b/pom.xml
index 5b19bb33..8004e809 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,6 +61,7 @@
4.0.1
provided
+
org.owasp.encoder
encoder
@@ -76,6 +77,18 @@
security-logging-logback
1.1.6
+
+ org.owasp.esapi
+ esapi
+ 2.2.3.1
+
+
+ antisamy
+ org.owasp.antisamy
+
+
+
+
org.apache.shiro
shiro-core
@@ -96,6 +109,7 @@
log4j-slf4j-impl
${log4j.version}
+
com.google.guava
guava
@@ -112,22 +126,12 @@
${crypto.tink.version}
-
- org.owasp.esapi
- esapi
- 2.2.3.0
-
-
- antisamy
- org.owasp.antisamy
-
-
-
org.zalando.stups
crypto-keyczar
0.9.0
+
org.webjars
bootstrap
From b2271976921b713e07d23bba08763b051af3782a Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 24 May 2021 06:29:07 +0000
Subject: [PATCH 083/602] Bump jetty-maven-plugin from 11.0.2 to 11.0.3
Bumps [jetty-maven-plugin](https://github.com/eclipse/jetty.project) from 11.0.2 to 11.0.3.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.2...jetty-11.0.3)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 8004e809..1567171c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,7 +159,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 11.0.2
+ 11.0.3
org.apache.maven.plugins
From 710470a040c089d59b36fba82df881bfe80d5458 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 31 May 2021 06:22:47 +0000
Subject: [PATCH 084/602] Bump dependency-check-maven from 6.1.6 to 6.2.0
Bumps [dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.1.6 to 6.2.0.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.1.6...v6.2.0)
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 8004e809..c834529a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -225,7 +225,7 @@
org.owasp
dependency-check-maven
- 6.1.6
+ 6.2.0
true
From bce0d9dc9d6d2bdab91e82ac53fc01ddba591643 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 9 Jun 2021 05:31:40 +0000
Subject: [PATCH 085/602] Bump jetty-maven-plugin from 11.0.3 to 11.0.4
Bumps [jetty-maven-plugin](https://github.com/eclipse/jetty.project) from 11.0.3 to 11.0.4.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.3...jetty-11.0.4)
---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index de68c77c..de2b9eac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,7 +159,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 11.0.3
+ 11.0.4
org.apache.maven.plugins
From 063ac5a35ec6ae0c19a2dff72afa2bbca4c46335 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 9 Jun 2021 05:31:51 +0000
Subject: [PATCH 086/602] Bump dependency-check-maven from 6.2.0 to 6.2.1
Bumps [dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.2.0...v6.2.1)
---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-maven
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index de68c77c..300960ea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -225,7 +225,7 @@
org.owasp
dependency-check-maven
- 6.2.0
+ 6.2.1
true
From 4dea256f35c19e9302d595590229274b16b94571 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 11 Jun 2021 05:25:34 +0000
Subject: [PATCH 087/602] Bump spring-boot-starter-parent from 2.5.0 to 2.5.1
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.5.0...v2.5.1)
---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 9922659b..dccb5be2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.0
+ 2.5.1
From c9842cfeb8486e5cb7e1b8290c57660516ab2942 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 11 Jun 2021 05:25:49 +0000
Subject: [PATCH 088/602] Bump dependency-check-maven from 6.2.1 to 6.2.2
Bumps [dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.2.1...v6.2.2)
---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-maven
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 9922659b..cd96268a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -225,7 +225,7 @@
org.owasp
dependency-check-maven
- 6.2.1
+ 6.2.2
true
From cd55e2be2438a1d583253ffa1961d3d83c6b69d6 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 14 Jun 2021 06:55:53 +0000
Subject: [PATCH 089/602] Bump jetty-maven-plugin from 11.0.4 to 11.0.5
Bumps [jetty-maven-plugin](https://github.com/eclipse/jetty.project) from 11.0.4 to 11.0.5.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.4...jetty-11.0.5)
---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ae587804..82d17876 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,7 +159,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 11.0.4
+ 11.0.5
org.apache.maven.plugins
From 747982ebf0b1ed477128bd2740df9d9114470a40 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 25 Jun 2021 04:04:04 +0000
Subject: [PATCH 090/602] Bump spring-boot-starter-parent from 2.5.1 to 2.5.2
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.5.1 to 2.5.2.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.5.1...v2.5.2)
---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 82d17876..beb6f8eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.1
+ 2.5.2
From 71130db1f94f26bfabf866bf118d85b132798913 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 7 Jul 2021 04:04:00 +0000
Subject: [PATCH 091/602] Bump jetty-maven-plugin from 11.0.5 to 11.0.6
Bumps [jetty-maven-plugin](https://github.com/eclipse/jetty.project) from 11.0.5 to 11.0.6.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.5...jetty-11.0.6)
---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index beb6f8eb..aab0a306 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,7 +159,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 11.0.5
+ 11.0.6
org.apache.maven.plugins
From 244ffc517700f43ff1a7b13effcf9a9385715b7c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 12 Jul 2021 04:09:14 +0000
Subject: [PATCH 092/602] Bump spotbugs-maven-plugin from 4.2.3 to 4.3.0
Bumps [spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.2.3 to 4.3.0.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.2.3...spotbugs-maven-plugin-4.3.0)
---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index aab0a306..d7847599 100644
--- a/pom.xml
+++ b/pom.xml
@@ -209,7 +209,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.2.3
+ 4.3.0
Max
Low
From e5ff1bb521a663f7b9da5024b754efa410367795 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 13 Jul 2021 04:04:11 +0000
Subject: [PATCH 093/602] Bump crypto.tink.version from 1.6.0 to 1.6.1
Bumps `crypto.tink.version` from 1.6.0 to 1.6.1.
Updates `tink` from 1.6.0 to 1.6.1
- [Release notes](https://github.com/google/tink/releases)
- [Commits](https://github.com/google/tink/compare/v1.6.0...v1.6.1)
Updates `tink-awskms` from 1.6.0 to 1.6.1
- [Release notes](https://github.com/google/tink/releases)
- [Commits](https://github.com/google/tink/compare/v1.6.0...v1.6.1)
---
updated-dependencies:
- dependency-name: com.google.crypto.tink:tink
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: com.google.crypto.tink:tink-awskms
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index aab0a306..a8bc667e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,7 +45,7 @@
2.14.1
1.2.3
- 1.6.0
+ 1.6.1
dschadow
false
UTF-8
From 42a91cb5d750c0ee8200ec96e8305a9dfdca4e26 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 20 Jul 2021 04:03:38 +0000
Subject: [PATCH 094/602] Bump bootstrap from 5.0.1 to 5.0.2
Bumps [bootstrap](https://github.com/webjars/bootstrap) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/webjars/bootstrap/releases)
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-5.0.1...bootstrap-5.0.2)
---
updated-dependencies:
- dependency-name: org.webjars:bootstrap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ec3dc4e6..2f6091bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,7 +135,7 @@
org.webjars
bootstrap
- 5.0.1
+ 5.0.2
From 53c71573a87c35479158dd5fe66c9e0590ecb998 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 23 Jul 2021 04:03:04 +0000
Subject: [PATCH 095/602] Bump spring-boot-starter-parent from 2.5.2 to 2.5.3
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.5.2 to 2.5.3.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.5.2...v2.5.3)
---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ec3dc4e6..66d9e666 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.2
+ 2.5.3
From d6341bbcfb2ac9b42c7571c2cb91e8b942a37f28 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 6 Aug 2021 04:03:40 +0000
Subject: [PATCH 096/602] Bump bootstrap from 5.0.2 to 5.1.0
Bumps [bootstrap](https://github.com/webjars/bootstrap) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/webjars/bootstrap/releases)
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-5.0.2...bootstrap-5.1.0)
---
updated-dependencies:
- dependency-name: org.webjars:bootstrap
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index d00c7ee6..02cf5d9e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,7 +135,7 @@
org.webjars
bootstrap
- 5.0.2
+ 5.1.0
From ae8e600aa3df69570c2e02f019a1db4f04814671 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 14:35:41 +0200
Subject: [PATCH 097/602] Replaced deprecated KeyTemplate usage
---
.dcignore | 0
.../javasecurity/tink/aead/AesEaxWithGeneratedKey.java | 4 ++--
.../tink/aead/AesGcmWithAwsKmsSavedKey.java | 8 ++------
.../javasecurity/tink/aead/AesGcmWithSavedKey.java | 3 +--
.../tink/hybrid/EciesWithAwsKmsSavedKey.java | 3 +--
.../tink/hybrid/EciesWithGeneratedKey.java | 4 ++--
.../hybrid/EciesWithGeneratedKeyAndKeyRotation.java | 10 +++-------
.../javasecurity/tink/hybrid/EciesWithSavedKey.java | 3 +--
.../javasecurity/tink/mac/HmacShaWithGeneratedKey.java | 4 ++--
.../javasecurity/tink/mac/HmacShaWithSavedKey.java | 3 +--
.../tink/signature/EcdsaWithGeneratedKey.java | 4 ++--
.../javasecurity/tink/signature/EcdsaWithSavedKey.java | 3 +--
12 files changed, 18 insertions(+), 31 deletions(-)
delete mode 100644 .dcignore
diff --git a/.dcignore b/.dcignore
deleted file mode 100644
index e69de29b..00000000
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
index 87c323be..9751ce2c 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
@@ -18,9 +18,9 @@
package de.dominikschadow.javasecurity.tink.aead;
import com.google.crypto.tink.Aead;
+import com.google.crypto.tink.KeyTemplates;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.aead.AeadConfig;
-import com.google.crypto.tink.aead.AesEaxKeyManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,7 +47,7 @@ public AesEaxWithGeneratedKey() {
}
public KeysetHandle generateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(AesEaxKeyManager.aes256EaxTemplate());
+ return KeysetHandle.generateNew(KeyTemplates.get("AES256_EAX"));
}
public byte[] encrypt(KeysetHandle keysetHandle, byte[] initialText, byte[] associatedData) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index 6b4dd0a8..2f03886b 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -17,12 +17,8 @@
*/
package de.dominikschadow.javasecurity.tink.aead;
-import com.google.crypto.tink.Aead;
-import com.google.crypto.tink.JsonKeysetReader;
-import com.google.crypto.tink.JsonKeysetWriter;
-import com.google.crypto.tink.KeysetHandle;
+import com.google.crypto.tink.*;
import com.google.crypto.tink.aead.AeadConfig;
-import com.google.crypto.tink.aead.AesGcmKeyManager;
import com.google.crypto.tink.integration.awskms.AwsKmsClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,7 +61,7 @@ public AesGcmWithAwsKmsSavedKey() {
*/
public void generateAndStoreKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(AesGcmKeyManager.aes128GcmTemplate());
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(KeyTemplates.get("AES128_GCM"));
keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
index 7a97f692..cc65b920 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
@@ -19,7 +19,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.aead.AeadConfig;
-import com.google.crypto.tink.aead.AesGcmKeyManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,7 +54,7 @@ public AesGcmWithSavedKey() {
*/
public void generateAndStoreKey(File keyset) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(AesGcmKeyManager.aes128GcmTemplate());
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(KeyTemplates.get("AES128_GCM"));
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
index 51d0285c..30aca6f8 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
@@ -18,7 +18,6 @@
package de.dominikschadow.javasecurity.tink.hybrid;
import com.google.crypto.tink.*;
-import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
import com.google.crypto.tink.integration.awskms.AwsKmsClient;
import org.slf4j.Logger;
@@ -63,7 +62,7 @@ public EciesWithAwsKmsSavedKey() {
*/
public void generateAndStorePrivateKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(KeyTemplates.get("ECIES_P256_HKDF_HMAC_SHA256_AES128_GCM"));
keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
index 9fece1c8..54a6b829 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
@@ -19,8 +19,8 @@
import com.google.crypto.tink.HybridDecrypt;
import com.google.crypto.tink.HybridEncrypt;
+import com.google.crypto.tink.KeyTemplates;
import com.google.crypto.tink.KeysetHandle;
-import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,7 +48,7 @@ public EciesWithGeneratedKey() {
}
public KeysetHandle generatePrivateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128CtrHmacSha256Template());
+ return KeysetHandle.generateNew(KeyTemplates.get("ECIES_P256_HKDF_HMAC_SHA256_AES128_CTR_HMAC_SHA256"));
}
public KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
index b29a5f56..9b987d76 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
@@ -17,11 +17,7 @@
*/
package de.dominikschadow.javasecurity.tink.hybrid;
-import com.google.crypto.tink.HybridDecrypt;
-import com.google.crypto.tink.HybridEncrypt;
-import com.google.crypto.tink.KeysetHandle;
-import com.google.crypto.tink.KeysetManager;
-import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
+import com.google.crypto.tink.*;
import com.google.crypto.tink.hybrid.HybridConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,7 +49,7 @@ public EciesWithGeneratedKeyAndKeyRotation() {
* disables the original primary key.
*/
public KeysetHandle rotateKey(KeysetHandle keysetHandle) throws GeneralSecurityException {
- KeysetHandle handle = KeysetManager.withKeysetHandle(keysetHandle).add(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128CtrHmacSha256Template()).getKeysetHandle();
+ KeysetHandle handle = KeysetManager.withKeysetHandle(keysetHandle).add(KeyTemplates.get("ECIES_P256_HKDF_HMAC_SHA256_AES128_CTR_HMAC_SHA256")).getKeysetHandle();
handle = KeysetManager.withKeysetHandle(handle).setPrimary(handle.getKeysetInfo().getKeyInfo(1).getKeyId()).getKeysetHandle();
@@ -61,7 +57,7 @@ public KeysetHandle rotateKey(KeysetHandle keysetHandle) throws GeneralSecurityE
}
public KeysetHandle generatePrivateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
+ return KeysetHandle.generateNew(KeyTemplates.get("ECIES_P256_HKDF_HMAC_SHA256_AES128_GCM"));
}
public KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
index 6c4ab929..0ae83c12 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
@@ -18,7 +18,6 @@
package de.dominikschadow.javasecurity.tink.hybrid;
import com.google.crypto.tink.*;
-import com.google.crypto.tink.hybrid.EciesAeadHkdfPrivateKeyManager;
import com.google.crypto.tink.hybrid.HybridConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,7 +54,7 @@ public EciesWithSavedKey() {
*/
public void generateAndStorePrivateKey(File keyset) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(EciesAeadHkdfPrivateKeyManager.eciesP256HkdfHmacSha256Aes128GcmTemplate());
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(KeyTemplates.get("ECIES_P256_HKDF_HMAC_SHA256_AES128_GCM"));
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
index a0a948b0..74c8f8b6 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
@@ -17,9 +17,9 @@
*/
package de.dominikschadow.javasecurity.tink.mac;
+import com.google.crypto.tink.KeyTemplates;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.Mac;
-import com.google.crypto.tink.mac.HmacKeyManager;
import com.google.crypto.tink.mac.MacConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,6 +65,6 @@ public boolean verifyMac(KeysetHandle keysetHandle, byte[] tag, byte[] initialTe
}
public KeysetHandle generateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(HmacKeyManager.hmacSha256HalfDigestTemplate());
+ return KeysetHandle.generateNew(KeyTemplates.get("HMAC_SHA256_128BITTAG"));
}
}
\ No newline at end of file
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
index 02a81a3d..f745f79b 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
@@ -18,7 +18,6 @@
package de.dominikschadow.javasecurity.tink.mac;
import com.google.crypto.tink.*;
-import com.google.crypto.tink.mac.HmacKeyManager;
import com.google.crypto.tink.mac.MacConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,7 +54,7 @@ public HmacShaWithSavedKey() {
*/
public void generateAndStoreKey(File keyset) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(HmacKeyManager.hmacSha256HalfDigestTemplate());
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(KeyTemplates.get("HMAC_SHA256_128BITTAG"));
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
index b16ff6df..92ca3a24 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
@@ -17,10 +17,10 @@
*/
package de.dominikschadow.javasecurity.tink.signature;
+import com.google.crypto.tink.KeyTemplates;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.PublicKeySign;
import com.google.crypto.tink.PublicKeyVerify;
-import com.google.crypto.tink.signature.EcdsaSignKeyManager;
import com.google.crypto.tink.signature.SignatureConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,7 +48,7 @@ public EcdsaWithGeneratedKey() {
}
public KeysetHandle generatePrivateKey() throws GeneralSecurityException {
- return KeysetHandle.generateNew(EcdsaSignKeyManager.ecdsaP256Template());
+ return KeysetHandle.generateNew(KeyTemplates.get("ECDSA_P256"));
}
public KeysetHandle generatePublicKey(KeysetHandle privateKeysetHandle) throws GeneralSecurityException {
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
index 33818322..755c1291 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
@@ -18,7 +18,6 @@
package de.dominikschadow.javasecurity.tink.signature;
import com.google.crypto.tink.*;
-import com.google.crypto.tink.signature.EcdsaSignKeyManager;
import com.google.crypto.tink.signature.SignatureConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,7 +54,7 @@ public EcdsaWithSavedKey() {
*/
public void generateAndStorePrivateKey(File keyset) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
- KeysetHandle keysetHandle = KeysetHandle.generateNew(EcdsaSignKeyManager.ecdsaP256Template());
+ KeysetHandle keysetHandle = KeysetHandle.generateNew(KeyTemplates.get("ECDSA_P256"));
CleartextKeysetHandle.write(keysetHandle, JsonKeysetWriter.withFile(keyset));
}
}
From 010dcb108115c072ed9ab6ec1bbec344c4c7af14 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:26:09 +0200
Subject: [PATCH 098/602] added httpclient for AWS KMS (Google Tink)
---
crypto-tink/pom.xml | 4 ++++
pom.xml | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/crypto-tink/pom.xml b/crypto-tink/pom.xml
index 817f8365..bb4ca94d 100644
--- a/crypto-tink/pom.xml
+++ b/crypto-tink/pom.xml
@@ -25,6 +25,10 @@
com.google.crypto.tink
tink-awskms
+
+ org.apache.httpcomponents
+ httpclient
+
org.apache.logging.log4j
log4j-api
diff --git a/pom.xml b/pom.xml
index 02cf5d9e..589581ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -125,6 +125,11 @@
tink-awskms
${crypto.tink.version}
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5.13
+
org.zalando.stups
From 8deb7b11080d5a608dbb9881a1a87ac98251740f Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:26:28 +0200
Subject: [PATCH 099/602] re-generated AWS KMS sample
---
.../test/resources/keysets/aead-aes-gcm-kms.json | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/crypto-tink/src/test/resources/keysets/aead-aes-gcm-kms.json b/crypto-tink/src/test/resources/keysets/aead-aes-gcm-kms.json
index 4dbb7bcc..9f035d2c 100644
--- a/crypto-tink/src/test/resources/keysets/aead-aes-gcm-kms.json
+++ b/crypto-tink/src/test/resources/keysets/aead-aes-gcm-kms.json
@@ -1,12 +1 @@
-{
- "keysetInfo": {
- "primaryKeyId": 1351580745,
- "keyInfo": [{
- "typeUrl": "type.googleapis.com/google.crypto.tink.AesGcmKey",
- "outputPrefixType": "TINK",
- "keyId": 1351580745,
- "status": "ENABLED"
- }]
- },
- "encryptedKeyset": "AQICAHiHki7c9xeXD8haAwCxa10hOyyX2RaEmNlP9qo0skL9DwFBPtBz3Tidf5UPgp0/ebWrAAAAvjCBuwYJKoZIhvcNAQcGoIGtMIGqAgEAMIGkBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHySzk1uw3KkalRDrQIBEIB3VbgoYk7KBie+OALsCLF06iX51RCDdMUwpaqgPbdziM94IVNPxItjqDHruYmBp11sTdD6h8/yMJwLQlRCQfCBTswrdUiGkE+87tkXtgVPRWVRCUa2Q215ZxNDM0v9lRjt8bqKdERrWOr3TU1OcexPL6y4bYy+c2Q="
-}
\ No newline at end of file
+{"encryptedKeyset":"AQICAHjPJvnslLCyEwNnX/UtUq17lv/s2BTF/axjfnY/s/NWFAHuguuui9/GQTb8/aqXCANUAAAAvjCBuwYJKoZIhvcNAQcGoIGtMIGqAgEAMIGkBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDAKIISkhEVe0gcdpIQIBEIB34QI4bVw3nchvz9WEGjiZpzqsYzK5jaWqZgiG9y7uXXh+11juBir9sxnwBP8VSjfAUeUfzHLarccHSwzxIjP9Km242+uChh3IYFd+/qsA7GoRfXj1FzxkV0LRLhbwvnMlqlSjUflDBnPeDhZczOvAoX8uHFDNRZ4=","keysetInfo":{"primaryKeyId":467483395,"keyInfo":[{"typeUrl":"type.googleapis.com/google.crypto.tink.AesGcmKey","status":"ENABLED","keyId":467483395,"outputPrefixType":"TINK"}]}}
From 7f7dd3a52b5af7ec171f040c2bad218fd31cefcd Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:26:49 +0200
Subject: [PATCH 100/602] replaced used deprecated methods
---
.../tink/aead/AesGcmWithAwsKmsSavedKey.java | 26 +++++++++++++------
.../aead/AesGcmWithAwsKmsSavedKeyTest.java | 8 +++---
2 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index 2f03886b..f817c357 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -26,13 +26,19 @@
import java.io.File;
import java.io.IOException;
import java.security.GeneralSecurityException;
+import java.util.Optional;
/**
+ *
* Shows crypto usage with Google Tink for the Authenticated Encryption with Associated Data (AEAD) primitive. The used
- * key is stored and loaded from AWS KMS. Requires a master key available in AWS KMS and correctly configured
- * credentials to access AWS KMS: AWS_ACCESS_KEY_ID and AWS_SECRET_KEY must be set as environment variables.
+ * key is stored and loaded from AWS KMS.S elected algorithm is AES-GCM with 128 bit. Requires a master key available in
+ * AWS KMS and correctly configured credentials to access AWS KMS: AWS_ACCESS_KEY_ID and AWS_SECRET_KEY must be set as
+ * environment variables.
+ *
*
- * Selected algorithm is AES-GCM with 128 bit.
+ * Using your own AWS Master Key requires to delete the stored keyset in src/test/resources/keysets/aead-aes-gcm-kms.json
+ * because this file is encrypted with the used sample AWS KMS master key.
+ *
*
* @author Dominik Schadow
* @see Creating Keys
@@ -41,6 +47,7 @@
*/
public class AesGcmWithAwsKmsSavedKey {
private static final Logger log = LoggerFactory.getLogger(AesGcmWithAwsKmsSavedKey.class);
+ private static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/1cf7d7fe-6974-40e3-bb0d-22b8c75d4eb8";
/**
* Init AeadConfig in the Tink library.
@@ -48,6 +55,7 @@ public class AesGcmWithAwsKmsSavedKey {
public AesGcmWithAwsKmsSavedKey() {
try {
AeadConfig.register();
+ AwsKmsClient.register(Optional.of(AWS_MASTER_KEY_URI), Optional.empty());
} catch (GeneralSecurityException ex) {
log.error("Failed to initialize Tink", ex);
}
@@ -59,16 +67,18 @@ public AesGcmWithAwsKmsSavedKey() {
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
*/
- public void generateAndStoreKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
+ public void generateAndStoreKey(File keyset) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
+ AwsKmsClient awsKmsClient = (AwsKmsClient) KmsClients.get(AWS_MASTER_KEY_URI);
KeysetHandle keysetHandle = KeysetHandle.generateNew(KeyTemplates.get("AES128_GCM"));
- keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
+ keysetHandle.write(JsonKeysetWriter.withFile(keyset), awsKmsClient.getAead(AWS_MASTER_KEY_URI));
}
}
- public KeysetHandle loadKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
- return KeysetHandle.read(JsonKeysetReader.withFile(keyset),
- new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
+ public KeysetHandle loadKey(File keyset) throws IOException, GeneralSecurityException {
+ AwsKmsClient awsKmsClient = (AwsKmsClient) KmsClients.get(AWS_MASTER_KEY_URI);
+
+ return KeysetHandle.read(JsonKeysetReader.withFile(keyset), awsKmsClient.getAead(AWS_MASTER_KEY_URI));
}
public byte[] encrypt(KeysetHandle keysetHandle, byte[] initialText, byte[] associatedData) throws GeneralSecurityException {
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
index 6b54eb8a..36bff833 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
@@ -3,7 +3,6 @@
import com.google.crypto.tink.KeysetHandle;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.File;
@@ -13,7 +12,6 @@
import static org.junit.jupiter.api.Assertions.assertNotEquals;
class AesGcmWithAwsKmsSavedKeyTest {
- private static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/cce9ce6d-526c-44ca-9189-45c54b90f070";
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
private static final String KEYSET_FILENAME = "src/test/resources/keysets/aead-aes-gcm-kms.json";
@@ -24,12 +22,12 @@ class AesGcmWithAwsKmsSavedKeyTest {
@BeforeEach
protected void setup() throws Exception {
- aes.generateAndStoreKey(keysetFile, AWS_MASTER_KEY_URI);
- secretKey = aes.loadKey(keysetFile, AWS_MASTER_KEY_URI);
+ aes.generateAndStoreKey(keysetFile);
+ secretKey = aes.loadKey(keysetFile);
}
@Test
- @Disabled("This test requires AWS KMS configuration")
+ //@Disabled("This test requires AWS KMS configuration")
void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
byte[] cipherText = aes.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
byte[] plainText = aes.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
From 791497f5507538d00e13873b018b2c97fdf1cdf4 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:27:23 +0200
Subject: [PATCH 101/602] replaced used deprecated methods
---
.../javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index f817c357..87205d3a 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -31,7 +31,7 @@
/**
*
* Shows crypto usage with Google Tink for the Authenticated Encryption with Associated Data (AEAD) primitive. The used
- * key is stored and loaded from AWS KMS.S elected algorithm is AES-GCM with 128 bit. Requires a master key available in
+ * key is stored and loaded from AWS KMS. Selected algorithm is AES-GCM with 128 bit. Requires a master key available in
* AWS KMS and correctly configured credentials to access AWS KMS: AWS_ACCESS_KEY_ID and AWS_SECRET_KEY must be set as
* environment variables.
*
From d2bb6f5c67875a346e2aef6bbd243ca8623156ea Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:35:55 +0200
Subject: [PATCH 102/602] re-generated AWS KMS sample
---
.../resources/keysets/hybrid-ecies-kms-private.json | 12 ------------
.../resources/keysets/hybrid-ecies-kms-public.json | 13 -------------
2 files changed, 25 deletions(-)
delete mode 100644 crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json
delete mode 100644 crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json
diff --git a/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json b/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json
deleted file mode 100644
index 8e711e11..00000000
--- a/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "keysetInfo": {
- "primaryKeyId": 383437302,
- "keyInfo": [{
- "typeUrl": "type.googleapis.com/google.crypto.tink.EciesAeadHkdfPrivateKey",
- "outputPrefixType": "TINK",
- "keyId": 383437302,
- "status": "ENABLED"
- }]
- },
- "encryptedKeyset": "AQICAHiHki7c9xeXD8haAwCxa10hOyyX2RaEmNlP9qo0skL9DwFXlI7T9O44yMLFgqrHvtPPAAABdDCCAXAGCSqGSIb3DQEHBqCCAWEwggFdAgEAMIIBVgYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAzwKxK1nJ3zZd5L1GMCARCAggEnY7bz9Q8eOAhnrWHLDWHaFUw1opfti2B/vG6xjwS/VaF53MVDVF0SMRDfGJmeg5CwgAI9jSgo8FBKGjh8MepMjpauz6iZpNXrqMaP1YgbuEgPxK6pBaBd2wX1LaCrNelY70hAQSRbNbLFQC+aEaHer8TkDJMFCsuZnz5uKXqWtF+/6wkcOlwr2VI52tHOEbDDluKiyB5lvx36TiV3s0X+jfbPlybBDrj56QkbDBDaUFoZ9pLEcGNzY8nIzupt+IvDxDnE95n9VbXCZHRPPZ+bzjkxL0iYCUHPrevUugui4zyiOZCH6ra/O8YhuiUHpXRbB3jEXkcFHdXotml3VSu05QSmSZL+u7J7/6Q3It1ZWj5qh+bR+aPOkamSMNUdLG1FePx/6tdQ+Q=="
-}
\ No newline at end of file
diff --git a/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json b/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json
deleted file mode 100644
index de893bfd..00000000
--- a/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "primaryKeyId": 383437302,
- "key": [{
- "keyData": {
- "typeUrl": "type.googleapis.com/google.crypto.tink.EciesAeadHkdfPublicKey",
- "keyMaterialType": "ASYMMETRIC_PUBLIC",
- "value": "EkQKBAgCEAMSOhI4CjB0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5jcnlwdG8udGluay5BZXNHY21LZXkSAhAQGAEYARohAJxuWyN5/mVUPs7zwfvZYf+aJTpjz0pC4SQzCPqReL72IiEArX9AUfFLzRVp1UOBDZiZpdklIojUBCMWexFmKQkgTVw="
- },
- "outputPrefixType": "TINK",
- "keyId": 383437302,
- "status": "ENABLED"
- }]
-}
\ No newline at end of file
From fab9e699026e711e14d814ff53222cf7767b3364 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:36:03 +0200
Subject: [PATCH 103/602] re-generated AWS KMS sample
---
.../src/test/resources/keysets/hybrid-ecies-kms-private.json | 1 +
.../src/test/resources/keysets/hybrid-ecies-kms-public.json | 1 +
2 files changed, 2 insertions(+)
create mode 100644 crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json
create mode 100644 crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json
diff --git a/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json b/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json
new file mode 100644
index 00000000..b2d465d4
--- /dev/null
+++ b/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-private.json
@@ -0,0 +1 @@
+{"encryptedKeyset":"AQICAHjPJvnslLCyEwNnX/UtUq17lv/s2BTF/axjfnY/s/NWFAESVpTFBlqmBxu5h3nK99eyAAABdDCCAXAGCSqGSIb3DQEHBqCCAWEwggFdAgEAMIIBVgYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAxsrExyRY3nqXPx46gCARCAggEnowiMn7edmVvYOAapMYbyC/B3x7Pe97MkFWRHi7Y5xAroXvPvl6snqlpHRaEIAQLGRfZNIHpBMRh1bwEsVnXnz+ux+FgHUR81ZDMYOodApp27HvEsXWf3QV7yO8WY2nR7b4hKUsyF8b/Hjft3ccKGm2bP0x+g3oDu+hBHaWGsHmuCiUeLddOFvpW7gGJ7F1iwstwqGktItpeW8hwW7xxOshX8xNSJAvCFx62+V4/sCGS3tqdoT1rXI4gi8HOkq2tN+1FbojLYX48AIc22Pnhl9fJguoP7r8FfqdpCU8bwmUJ7wD0lEiza4k47sTO8G3tjmBGlUf02sMUWbyzxPBuODnBlg/5TEDrBUUx/9ZXkTxakQyXBq/8Ws1FG9Jz4rR5yfeG7my3E4Q==","keysetInfo":{"primaryKeyId":1333712119,"keyInfo":[{"typeUrl":"type.googleapis.com/google.crypto.tink.EciesAeadHkdfPrivateKey","status":"ENABLED","keyId":1333712119,"outputPrefixType":"TINK"}]}}
diff --git a/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json b/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json
new file mode 100644
index 00000000..20d76ee0
--- /dev/null
+++ b/crypto-tink/src/test/resources/keysets/hybrid-ecies-kms-public.json
@@ -0,0 +1 @@
+{"primaryKeyId":1333712119,"key":[{"keyData":{"typeUrl":"type.googleapis.com/google.crypto.tink.EciesAeadHkdfPublicKey","value":"EkQKBAgCEAMSOhI4CjB0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5jcnlwdG8udGluay5BZXNHY21LZXkSAhAQGAEYARohALIXFtQFNnRxXfmpRbZCrqIxFFEv6CYF0hozskteJZbhIiEAhe7BYpix2o/hA9pP8WXuSfamWbayEp0ZUYfhUilLeP0=","keyMaterialType":"ASYMMETRIC_PUBLIC"},"status":"ENABLED","keyId":1333712119,"outputPrefixType":"TINK"}]}
From c068884b47442e1685e15f60cff780518a2a5374 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:36:22 +0200
Subject: [PATCH 104/602] replaced used deprecated methods
---
.../tink/aead/AesGcmWithAwsKmsSavedKey.java | 2 +-
.../tink/hybrid/EciesWithAwsKmsSavedKey.java | 29 ++++++++++++-------
.../aead/AesGcmWithAwsKmsSavedKeyTest.java | 2 +-
.../hybrid/EciesWithAwsKmsSavedKeyTest.java | 8 ++---
4 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index 87205d3a..06858e49 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -37,7 +37,7 @@
*
*
* Using your own AWS Master Key requires to delete the stored keyset in src/test/resources/keysets/aead-aes-gcm-kms.json
- * because this file is encrypted with the used sample AWS KMS master key.
+ * because this key was created with the used sample AWS KMS master key and will not work with any other master key.
*
*
* @author Dominik Schadow
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
index 30aca6f8..a675d97c 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
@@ -26,13 +26,19 @@
import java.io.File;
import java.io.IOException;
import java.security.GeneralSecurityException;
+import java.util.Optional;
/**
- * Shows crypto usage with Google Tink for the HybridEncrypt primitive. The used key is stored and loaded from AWS KMS.
- * Requires a master key available in AWS KMS and correctly configured credentials to access AWS KMS: AWS_ACCESS_KEY_ID
- * and AWS_SECRET_KEY must be set as environment variables.
*
- * Selected algorithm is ECIES with AEAD and HKDF.
+ * Shows crypto usage with Google Tink for the HybridEncrypt (AEAD) primitive. The used key is stored and loaded from #
+ * AWS KMS. Selected algorithm is AES-GCM with 128 bit. Requires a master key available in AWS KMS and correctly
+ * configured credentials to access AWS KMS: AWS_ACCESS_KEY_ID and AWS_SECRET_KEY must be set as environment variables.
+ *
+ *
+ * Using your own AWS Master Key requires to delete the stored keyset in src/test/resources/keysets/hybrid-ecies-kms-private.json
+ * and rc/test/resources/keysets/hybrid-ecies-kms-public.json because these keys were created with the used sample AWS
+ * KMS master key and will not work with any other master key.
+ *
*
* @author Dominik Schadow
* @see Creating Keys
@@ -41,6 +47,7 @@
*/
public class EciesWithAwsKmsSavedKey {
private static final Logger log = LoggerFactory.getLogger(EciesWithAwsKmsSavedKey.class);
+ private static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/1cf7d7fe-6974-40e3-bb0d-22b8c75d4eb8";
/**
* Init AeadConfig in the Tink library.
@@ -48,6 +55,7 @@ public class EciesWithAwsKmsSavedKey {
public EciesWithAwsKmsSavedKey() {
try {
HybridConfig.register();
+ AwsKmsClient.register(Optional.of(AWS_MASTER_KEY_URI), Optional.empty());
} catch (GeneralSecurityException ex) {
log.error("Failed to initialize Tink", ex);
}
@@ -58,18 +66,19 @@ public EciesWithAwsKmsSavedKey() {
*
* @throws IOException Failure during saving
* @throws GeneralSecurityException Failure during keyset generation
- * @param keyset
*/
- public void generateAndStorePrivateKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
+ public void generateAndStorePrivateKey(File keyset) throws IOException, GeneralSecurityException {
if (!keyset.exists()) {
+ AwsKmsClient awsKmsClient = (AwsKmsClient) KmsClients.get(AWS_MASTER_KEY_URI);
KeysetHandle keysetHandle = KeysetHandle.generateNew(KeyTemplates.get("ECIES_P256_HKDF_HMAC_SHA256_AES128_GCM"));
- keysetHandle.write(JsonKeysetWriter.withFile(keyset), new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
+ keysetHandle.write(JsonKeysetWriter.withFile(keyset), awsKmsClient.getAead(AWS_MASTER_KEY_URI));
}
}
- public KeysetHandle loadPrivateKey(File keyset, String awsMasterKeyUri) throws IOException, GeneralSecurityException {
- return KeysetHandle.read(JsonKeysetReader.withFile(keyset),
- new AwsKmsClient().withDefaultCredentials().getAead(awsMasterKeyUri));
+ public KeysetHandle loadPrivateKey(File keyset) throws IOException, GeneralSecurityException {
+ AwsKmsClient awsKmsClient = (AwsKmsClient) KmsClients.get(AWS_MASTER_KEY_URI);
+
+ return KeysetHandle.read(JsonKeysetReader.withFile(keyset), awsKmsClient.getAead(AWS_MASTER_KEY_URI));
}
/**
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
index 36bff833..e39f4e26 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
@@ -11,6 +11,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
+//@Disabled("These test require AWS KMS configuration")
class AesGcmWithAwsKmsSavedKeyTest {
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
@@ -27,7 +28,6 @@ protected void setup() throws Exception {
}
@Test
- //@Disabled("This test requires AWS KMS configuration")
void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
byte[] cipherText = aes.encrypt(secretKey, INITIAL_TEXT, ASSOCIATED_DATA);
byte[] plainText = aes.decrypt(secretKey, cipherText, ASSOCIATED_DATA);
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
index 5cdaa60f..4bb1ab9b 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
@@ -3,7 +3,6 @@
import com.google.crypto.tink.KeysetHandle;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.File;
@@ -12,8 +11,8 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
+//@Disabled("These tests require AWS KMS configuration")
class EciesWithAwsKmsSavedKeyTest {
- private static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/cce9ce6d-526c-44ca-9189-45c54b90f070";
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] CONTEXT_INFO = "Some additional data".getBytes(StandardCharsets.UTF_8);
private static final String PRIVATE_KEYSET_FILENAME = "src/test/resources/keysets/hybrid-ecies-kms-private.json";
@@ -27,15 +26,14 @@ class EciesWithAwsKmsSavedKeyTest {
@BeforeEach
protected void setup() throws Exception {
- ecies.generateAndStorePrivateKey(privateKeysetFile, AWS_MASTER_KEY_URI);
- privateKey = ecies.loadPrivateKey(privateKeysetFile, AWS_MASTER_KEY_URI);
+ ecies.generateAndStorePrivateKey(privateKeysetFile);
+ privateKey = ecies.loadPrivateKey(privateKeysetFile);
ecies.generateAndStorePublicKey(privateKey, publicKeysetFile);
publicKey = ecies.loadPublicKey(publicKeysetFile);
}
@Test
- @Disabled("This test requires AWS KMS configuration")
void encryptionAndDecryptionWithValidInputsIsSuccessful() throws Exception {
byte[] cipherText = ecies.encrypt(publicKey, INITIAL_TEXT, CONTEXT_INFO);
byte[] plainText = ecies.decrypt(privateKey, cipherText, CONTEXT_INFO);
From 9e40bf9ffef499f7a6d788aee9f74e5c9e596684 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:37:08 +0200
Subject: [PATCH 105/602] Disabled the AWS KMS tests again
---
.../javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java | 3 ++-
.../javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
index e39f4e26..8b3181ce 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKeyTest.java
@@ -3,6 +3,7 @@
import com.google.crypto.tink.KeysetHandle;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.File;
@@ -11,7 +12,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
-//@Disabled("These test require AWS KMS configuration")
+@Disabled("These test require AWS KMS configuration")
class AesGcmWithAwsKmsSavedKeyTest {
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] ASSOCIATED_DATA = "Some additional data".getBytes(StandardCharsets.UTF_8);
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
index 4bb1ab9b..f43dc395 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKeyTest.java
@@ -3,6 +3,7 @@
import com.google.crypto.tink.KeysetHandle;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.File;
@@ -11,7 +12,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
-//@Disabled("These tests require AWS KMS configuration")
+@Disabled("These tests require AWS KMS configuration")
class EciesWithAwsKmsSavedKeyTest {
private static final byte[] INITIAL_TEXT = "Some dummy text to work with".getBytes(StandardCharsets.UTF_8);
private static final byte[] CONTEXT_INFO = "Some additional data".getBytes(StandardCharsets.UTF_8);
From 3c0dd0ef3e39ca698d3b00aeb5082c462859279f Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 7 Aug 2021 15:39:58 +0200
Subject: [PATCH 106/602] removed outdated hint
---
crypto-shiro/pom.xml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/crypto-shiro/pom.xml b/crypto-shiro/pom.xml
index 3de03c40..4e78ab39 100644
--- a/crypto-shiro/pom.xml
+++ b/crypto-shiro/pom.xml
@@ -13,9 +13,7 @@
Crypto Shiro
Java crypto sample project using Apache Shiro to hash and encrypt data. Each relevant class provides
- its own main method to get started. This project requires the 'Java Cryptography Extension (JCE) Unlimited
- Strength Jurisdiction Policy Files 8' being installed
- http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
+ its own main method to get started.
From cdf315c74721c67b98648f80bf632fb20247283c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 20 Aug 2021 04:03:53 +0000
Subject: [PATCH 107/602] Bump spring-boot-starter-parent from 2.5.3 to 2.5.4
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.5.3 to 2.5.4.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.5.3...v2.5.4)
---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 589581ba..2f7b10f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.3
+ 2.5.4
From af9a83390fdfa511d9b4db8a0d3b3436cb9c18fa Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 27 Aug 2021 04:03:33 +0000
Subject: [PATCH 108/602] Bump shiro-core from 1.7.1 to 1.8.0
Bumps [shiro-core](https://github.com/apache/shiro) from 1.7.1 to 1.8.0.
- [Release notes](https://github.com/apache/shiro/releases)
- [Changelog](https://github.com/apache/shiro/blob/main/RELEASE-NOTES)
- [Commits](https://github.com/apache/shiro/compare/shiro-root-1.7.1...shiro-root-1.8.0)
---
updated-dependencies:
- dependency-name: org.apache.shiro:shiro-core
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 2f7b10f1..a99b488a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -92,7 +92,7 @@
org.apache.shiro
shiro-core
- 1.7.1
+ 1.8.0
org.apache.logging.log4j
From 3ced86e5d960847f38ea640bd46fe2f8fe368bb7 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 2 Sep 2021 04:04:13 +0000
Subject: [PATCH 109/602] Bump dependency-check-maven from 6.2.2 to 6.3.1
Bumps [dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.2.2 to 6.3.1.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.2.2...v6.3.1)
---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-maven
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 2f7b10f1..3f5b4348 100644
--- a/pom.xml
+++ b/pom.xml
@@ -230,7 +230,7 @@
org.owasp
dependency-check-maven
- 6.2.2
+ 6.3.1
true
From 1df1324d0c8eecd30c0b0dfe4cce16e46623f013 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 13 Sep 2021 04:03:47 +0000
Subject: [PATCH 110/602] Bump junit-bom from 5.7.2 to 5.8.0
Bumps [junit-bom](https://github.com/junit-team/junit5) from 5.7.2 to 5.8.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.7.2...r5.8.0)
---
updated-dependencies:
- dependency-name: org.junit:junit-bom
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 1f29007b..6c26badd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -146,7 +146,7 @@
org.junit
junit-bom
- 5.7.2
+ 5.8.0
pom
import
From 05a055916db56da3f642c8a45784cb0a8c43c4e0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 20 Sep 2021 04:09:16 +0000
Subject: [PATCH 111/602] Bump spotbugs-maven-plugin from 4.3.0 to 4.4.1
Bumps [spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.3.0 to 4.4.1.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.3.0...spotbugs-maven-plugin-4.4.1)
---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 6c26badd..8bdaf403 100644
--- a/pom.xml
+++ b/pom.xml
@@ -214,7 +214,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.3.0
+ 4.4.1
Max
Low
From 9ec83d2a0d936370411f529e99756e9ea8a2af3e Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Tue, 24 Aug 2021 09:41:04 +0200
Subject: [PATCH 112/602] Refactoring
---
.../javasecurity/tink/mac/HmacShaWithGeneratedKey.java | 5 +++--
.../javasecurity/tink/mac/HmacShaWithSavedKey.java | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
index 74c8f8b6..c23df230 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
@@ -52,10 +52,11 @@ public byte[] computeMac(KeysetHandle keysetHandle, byte[] initialText) throws G
return mac.computeMac(initialText);
}
- public boolean verifyMac(KeysetHandle keysetHandle, byte[] tag, byte[] initialText) {
+ public boolean verifyMac(KeysetHandle keysetHandle, byte[] initialMac, byte[] initialText) {
try {
Mac mac = keysetHandle.getPrimitive(Mac.class);
- mac.verifyMac(tag, initialText);
+ mac.verifyMac(initialMac, initialText);
+
return true;
} catch (GeneralSecurityException ex) {
log.error("MAC is invalid", ex);
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
index f745f79b..5f112361 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
@@ -69,10 +69,11 @@ public byte[] computeMac(KeysetHandle keysetHandle, byte[] initialText) throws G
return mac.computeMac(initialText);
}
- public boolean verifyMac(KeysetHandle keysetHandle, byte[] tag, byte[] initialText) {
+ public boolean verifyMac(KeysetHandle keysetHandle, byte[] initialMac, byte[] initialText) {
try {
Mac mac = keysetHandle.getPrimitive(Mac.class);
- mac.verifyMac(tag, initialText);
+ mac.verifyMac(initialMac, initialText);
+
return true;
} catch (GeneralSecurityException ex) {
log.error("MAC is invalid", ex);
From fb1cdcc02b6af7a3950710b4dc516d28900b3bd7 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Tue, 24 Aug 2021 10:51:22 +0200
Subject: [PATCH 113/602] Refactoring
---
.../tink/mac/HmacShaWithGeneratedKeyTest.java | 12 ++++++------
.../tink/mac/HmacShaWithSavedKeyTest.java | 14 +++++++-------
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
index cb9f2994..ccd29850 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKeyTest.java
@@ -17,11 +17,11 @@ class HmacShaWithGeneratedKeyTest {
void unchangedInputValidatesSuccessful() throws Exception {
KeysetHandle keysetHandle = hmac.generateKey();
- byte[] tag = hmac.computeMac(keysetHandle, INITIAL_TEXT);
- boolean validation = hmac.verifyMac(keysetHandle, tag, INITIAL_TEXT);
+ byte[] initialMac = hmac.computeMac(keysetHandle, INITIAL_TEXT);
+ boolean validation = hmac.verifyMac(keysetHandle, initialMac, INITIAL_TEXT);
Assertions.assertAll(
- () -> assertNotNull(tag),
+ () -> assertNotNull(initialMac),
() -> assertTrue(validation)
);
}
@@ -30,11 +30,11 @@ void unchangedInputValidatesSuccessful() throws Exception {
void changedInputValidationFails() throws Exception {
KeysetHandle keysetHandle = hmac.generateKey();
- byte[] tag = hmac.computeMac(keysetHandle, INITIAL_TEXT);
- boolean validation = hmac.verifyMac(keysetHandle, tag, "manipulation".getBytes(StandardCharsets.UTF_8));
+ byte[] initialMac = hmac.computeMac(keysetHandle, INITIAL_TEXT);
+ boolean validation = hmac.verifyMac(keysetHandle, initialMac, "manipulation".getBytes(StandardCharsets.UTF_8));
Assertions.assertAll(
- () -> assertNotNull(tag),
+ () -> assertNotNull(initialMac),
() -> assertFalse(validation)
);
}
diff --git a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKeyTest.java b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKeyTest.java
index ca1c21eb..36714ed6 100644
--- a/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKeyTest.java
+++ b/crypto-tink/src/test/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKeyTest.java
@@ -24,13 +24,13 @@ protected void setup() throws Exception {
@Test
void unchangedInputValidatesSuccessful() throws Exception {
- KeysetHandle keysetHandle = hmac.loadKey(keysetFile);
+ KeysetHandle keysetHandle = hmac.loadKey(keysetFile);
- byte[] tag = hmac.computeMac(keysetHandle, INITIAL_TEXT);
- boolean validation = hmac.verifyMac(keysetHandle, tag, INITIAL_TEXT);
+ byte[] initialMac = hmac.computeMac(keysetHandle, INITIAL_TEXT);
+ boolean validation = hmac.verifyMac(keysetHandle, initialMac, INITIAL_TEXT);
Assertions.assertAll(
- () -> assertNotNull(tag),
+ () -> assertNotNull(initialMac),
() -> assertTrue(validation)
);
}
@@ -39,11 +39,11 @@ void unchangedInputValidatesSuccessful() throws Exception {
void changedInputValidationFails() throws Exception {
KeysetHandle keysetHandle = hmac.loadKey(keysetFile);
- byte[] tag = hmac.computeMac(keysetHandle, INITIAL_TEXT);
- boolean validation = hmac.verifyMac(keysetHandle, tag, "manipulation".getBytes(StandardCharsets.UTF_8));
+ byte[] initialMac = hmac.computeMac(keysetHandle, INITIAL_TEXT);
+ boolean validation = hmac.verifyMac(keysetHandle, initialMac, "manipulation".getBytes(StandardCharsets.UTF_8));
Assertions.assertAll(
- () -> assertNotNull(tag),
+ () -> assertNotNull(initialMac),
() -> assertFalse(validation)
);
}
From bbb462b18a11dbcb43b165f46a8677268230c1ac Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 17:22:31 +0200
Subject: [PATCH 114/602] Java 17 requirement
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 3de9341b..ee18dc03 100644
--- a/README.md
+++ b/README.md
@@ -3,8 +3,8 @@ Java Security
This repository contains several Java web applications and command line applications covering different security topics. Have a look at my [slides](https://blog.dominikschadow.de/events) and [publications](https://blog.dominikschadow.de/publications) covering most applications in this repository.
# Requirements
-- [Java 11](https://adoptopenjdk.net)
-- [Maven 3](http://maven.apache.org/)
+- [Java 17](https://dev.java)
+- [Maven 3](http://maven.apache.org)
- [Mozilla Firefox](https://www.mozilla.org) (recommended, some demos might not be fully working in other browsers)
- [Docker](https://www.docker.com) (required for running the sample applications as Docker containers)
From 4c8a84f305482cd032d8b79555a6fc24c492dd97 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 17:22:42 +0200
Subject: [PATCH 115/602] Java 17
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 8bdaf403..856cfc9f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,7 @@
false
UTF-8
UTF-8
- 11
+ 17
From fb78a1ec0a382e9fb98f284668df6061da883038 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 17:30:04 +0200
Subject: [PATCH 116/602] Project version 3.2.0
---
access-control-spring-security/pom.xml | 2 +-
crypto-hash/pom.xml | 2 +-
crypto-java/pom.xml | 2 +-
crypto-keyczar/pom.xml | 2 +-
crypto-shiro/pom.xml | 2 +-
crypto-tink/pom.xml | 2 +-
csp-spring-security/pom.xml | 2 +-
csrf-spring-security/pom.xml | 2 +-
csrf/pom.xml | 2 +-
direct-object-references/pom.xml | 2 +-
intercept-me/pom.xml | 2 +-
pom.xml | 4 ++--
security-header/pom.xml | 2 +-
security-logging/pom.xml | 2 +-
serialize-me/pom.xml | 2 +-
session-handling-spring-security/pom.xml | 2 +-
session-handling/pom.xml | 2 +-
sql-injection/pom.xml | 2 +-
xss/pom.xml | 2 +-
19 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/access-control-spring-security/pom.xml b/access-control-spring-security/pom.xml
index 80ab0753..882e8559 100644
--- a/access-control-spring-security/pom.xml
+++ b/access-control-spring-security/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
access-control-spring-security
diff --git a/crypto-hash/pom.xml b/crypto-hash/pom.xml
index d65e1540..abb8e404 100644
--- a/crypto-hash/pom.xml
+++ b/crypto-hash/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
crypto-hash
diff --git a/crypto-java/pom.xml b/crypto-java/pom.xml
index f779ad1d..67a119b6 100644
--- a/crypto-java/pom.xml
+++ b/crypto-java/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
crypto-java
diff --git a/crypto-keyczar/pom.xml b/crypto-keyczar/pom.xml
index bee33c5b..9ad9de23 100644
--- a/crypto-keyczar/pom.xml
+++ b/crypto-keyczar/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
crypto-keyczar
diff --git a/crypto-shiro/pom.xml b/crypto-shiro/pom.xml
index 4e78ab39..4343116f 100644
--- a/crypto-shiro/pom.xml
+++ b/crypto-shiro/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
crypto-shiro
diff --git a/crypto-tink/pom.xml b/crypto-tink/pom.xml
index bb4ca94d..efbec91a 100644
--- a/crypto-tink/pom.xml
+++ b/crypto-tink/pom.xml
@@ -5,7 +5,7 @@
javasecurity
de.dominikschadow.javasecurity
- 3.1.2
+ 3.2.0
4.0.0
crypto-tink
diff --git a/csp-spring-security/pom.xml b/csp-spring-security/pom.xml
index 29d38a72..7d00f6f7 100644
--- a/csp-spring-security/pom.xml
+++ b/csp-spring-security/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
csp-spring-security
diff --git a/csrf-spring-security/pom.xml b/csrf-spring-security/pom.xml
index d0d5baee..4bc5e0d2 100644
--- a/csrf-spring-security/pom.xml
+++ b/csrf-spring-security/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
csrf-spring-security
diff --git a/csrf/pom.xml b/csrf/pom.xml
index 7b2fb84d..9574fc0d 100644
--- a/csrf/pom.xml
+++ b/csrf/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
csrf
diff --git a/direct-object-references/pom.xml b/direct-object-references/pom.xml
index ceb8d834..48b0c3df 100644
--- a/direct-object-references/pom.xml
+++ b/direct-object-references/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
direct-object-references
diff --git a/intercept-me/pom.xml b/intercept-me/pom.xml
index 4e96d1ff..8cee146f 100644
--- a/intercept-me/pom.xml
+++ b/intercept-me/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
intercept-me
diff --git a/pom.xml b/pom.xml
index 856cfc9f..b2fe4bd9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
javasecurity
de.dominikschadow.javasecurity
- 3.1.2
+ 3.2.0
pom
Java Security
https://github.com/dschadow/JavaSecurity
@@ -174,7 +174,7 @@
org.apache.maven.plugins
maven-project-info-reports-plugin
- 3.1.2
+ 3.2.0
org.springframework.boot
diff --git a/security-header/pom.xml b/security-header/pom.xml
index 5c42acc6..893c16b4 100644
--- a/security-header/pom.xml
+++ b/security-header/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
security-header
diff --git a/security-logging/pom.xml b/security-logging/pom.xml
index 02b1d834..137b5b5d 100644
--- a/security-logging/pom.xml
+++ b/security-logging/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
security-logging
diff --git a/serialize-me/pom.xml b/serialize-me/pom.xml
index df6253c9..b9442b7a 100644
--- a/serialize-me/pom.xml
+++ b/serialize-me/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
serialize-me
diff --git a/session-handling-spring-security/pom.xml b/session-handling-spring-security/pom.xml
index a478e8ee..1a9939fb 100755
--- a/session-handling-spring-security/pom.xml
+++ b/session-handling-spring-security/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
session-handling-spring-security
diff --git a/session-handling/pom.xml b/session-handling/pom.xml
index fd46775e..f773863b 100644
--- a/session-handling/pom.xml
+++ b/session-handling/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
session-handling
diff --git a/sql-injection/pom.xml b/sql-injection/pom.xml
index dec586bd..cb7ae267 100644
--- a/sql-injection/pom.xml
+++ b/sql-injection/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
sql-injection
diff --git a/xss/pom.xml b/xss/pom.xml
index 88f2df8c..f721646a 100644
--- a/xss/pom.xml
+++ b/xss/pom.xml
@@ -5,7 +5,7 @@
de.dominikschadow.javasecurity
javasecurity
- 3.1.2
+ 3.2.0
4.0.0
xss
From ca5a643fdca84de31a2f3377373aee19bac55738 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 17:44:42 +0200
Subject: [PATCH 117/602] added Serial annotation
---
.../de/dominikschadow/javasecurity/csrf/OrderServlet.java | 2 ++
.../javasecurity/header/servlets/CSPReporting.java | 2 ++
.../javasecurity/header/servlets/FakeServlet.java | 2 ++
.../javasecurity/header/servlets/LoginServlet.java | 2 ++
.../de/dominikschadow/javasecurity/serialize/SerializeMe.java | 4 +++-
.../javasecurity/sessionhandling/servlets/LoginServlet.java | 2 ++
.../java/de/dominikschadow/javasecurity/xss/CSPServlet.java | 4 +++-
.../javasecurity/xss/InputValidatedServlet.java | 4 +++-
.../dominikschadow/javasecurity/xss/OutputEscapedServlet.java | 4 +++-
.../dominikschadow/javasecurity/xss/UnprotectedServlet.java | 4 +++-
10 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/csrf/src/main/java/de/dominikschadow/javasecurity/csrf/OrderServlet.java b/csrf/src/main/java/de/dominikschadow/javasecurity/csrf/OrderServlet.java
index 474033c1..e1cf2a71 100644
--- a/csrf/src/main/java/de/dominikschadow/javasecurity/csrf/OrderServlet.java
+++ b/csrf/src/main/java/de/dominikschadow/javasecurity/csrf/OrderServlet.java
@@ -27,6 +27,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serial;
/**
* CSRF secured order servlet for POST requests. Processes the order and returns the result.
@@ -35,6 +36,7 @@
*/
@WebServlet(name = "OrderServlet", urlPatterns = {"/OrderServlet"})
public class OrderServlet extends HttpServlet {
+ @Serial
private static final long serialVersionUID = 168055850789919449L;
private static final Logger log = LoggerFactory.getLogger(OrderServlet.class);
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/CSPReporting.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/CSPReporting.java
index af844491..7e24876a 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/CSPReporting.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/CSPReporting.java
@@ -28,6 +28,7 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.io.Serial;
import java.nio.charset.StandardCharsets;
/**
@@ -37,6 +38,7 @@
*/
@WebServlet(name = "CSPReporting", urlPatterns = {"/csp/CSPReporting"})
public class CSPReporting extends HttpServlet {
+ @Serial
private static final long serialVersionUID = 5150026442855960085L;
private static final Logger log = LoggerFactory.getLogger(CSPReporting.class);
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/FakeServlet.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/FakeServlet.java
index d3cf1e81..78d6ded9 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/FakeServlet.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/FakeServlet.java
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serial;
/**
* Fake login servlet which returns a success message.
@@ -34,6 +35,7 @@
*/
@WebServlet(name = "FakeServlet", urlPatterns = {"/x-frame-options/FakeServlet", "/csp2/FakeServlet"})
public class FakeServlet extends HttpServlet {
+ @Serial
private static final long serialVersionUID = -6474742244481023685L;
private static final Logger log = LoggerFactory.getLogger(FakeServlet.class);
diff --git a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/LoginServlet.java b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/LoginServlet.java
index d3bd2c01..e570c5e0 100644
--- a/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/LoginServlet.java
+++ b/security-header/src/main/java/de/dominikschadow/javasecurity/header/servlets/LoginServlet.java
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serial;
/**
* Simple login servlet which returns a success message.
@@ -35,6 +36,7 @@
@WebServlet(name = "LoginServlet", urlPatterns = {"/x-frame-options/LoginServlet", "/cache-control/LoginServlet",
"/csp2/LoginServlet"})
public class LoginServlet extends HttpServlet {
+ @Serial
private static final long serialVersionUID = -660893987741671511L;
private static final Logger log = LoggerFactory.getLogger(LoginServlet.class);
diff --git a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/SerializeMe.java b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/SerializeMe.java
index 7f9a1ebb..b768f757 100644
--- a/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/SerializeMe.java
+++ b/serialize-me/src/main/java/de/dominikschadow/javasecurity/serialize/SerializeMe.java
@@ -17,10 +17,12 @@
*/
package de.dominikschadow.javasecurity.serialize;
+import java.io.Serial;
import java.io.Serializable;
public class SerializeMe implements Serializable {
- private static final long serialVersionUID = 4811291877894678577L;
+ @Serial
+ private static final long serialVersionUID = 4811291877894678577L;
private String firstname;
private String lastname;
diff --git a/session-handling/src/main/java/de/dominikschadow/javasecurity/sessionhandling/servlets/LoginServlet.java b/session-handling/src/main/java/de/dominikschadow/javasecurity/sessionhandling/servlets/LoginServlet.java
index 5bee0994..2a67af17 100644
--- a/session-handling/src/main/java/de/dominikschadow/javasecurity/sessionhandling/servlets/LoginServlet.java
+++ b/session-handling/src/main/java/de/dominikschadow/javasecurity/sessionhandling/servlets/LoginServlet.java
@@ -26,10 +26,12 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serial;
@WebServlet(name = "LoginServlet", urlPatterns = {"/LoginServlet"})
public class LoginServlet extends HttpServlet {
private static final Logger log = LoggerFactory.getLogger(LoginServlet.class);
+ @Serial
private static final long serialVersionUID = 1L;
@Override
diff --git a/xss/src/main/java/de/dominikschadow/javasecurity/xss/CSPServlet.java b/xss/src/main/java/de/dominikschadow/javasecurity/xss/CSPServlet.java
index aa4a6879..7388bddf 100644
--- a/xss/src/main/java/de/dominikschadow/javasecurity/xss/CSPServlet.java
+++ b/xss/src/main/java/de/dominikschadow/javasecurity/xss/CSPServlet.java
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serial;
/**
* Servlet which sets the {@code Content-Security-Policy} response header and stops any JavaScript code entered in the
@@ -36,7 +37,8 @@
*/
@WebServlet(name = "CSPServlet", urlPatterns = {"/csp"})
public class CSPServlet extends HttpServlet {
- private static final long serialVersionUID = 5117768874974567141L;
+ @Serial
+ private static final long serialVersionUID = 5117768874974567141L;
private static final Logger log = LoggerFactory.getLogger(CSPServlet.class);
@Override
diff --git a/xss/src/main/java/de/dominikschadow/javasecurity/xss/InputValidatedServlet.java b/xss/src/main/java/de/dominikschadow/javasecurity/xss/InputValidatedServlet.java
index c2474d36..3cf28d8e 100644
--- a/xss/src/main/java/de/dominikschadow/javasecurity/xss/InputValidatedServlet.java
+++ b/xss/src/main/java/de/dominikschadow/javasecurity/xss/InputValidatedServlet.java
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serial;
/**
* Servlet expecting validated input from the frontend.
@@ -34,7 +35,8 @@
*/
@WebServlet(name = "InputValidatedServlet", urlPatterns = {"/validated"})
public class InputValidatedServlet extends HttpServlet {
- private static final long serialVersionUID = -3167797061670620847L;
+ @Serial
+ private static final long serialVersionUID = -3167797061670620847L;
private static final Logger log = LoggerFactory.getLogger(InputValidatedServlet.class);
@Override
diff --git a/xss/src/main/java/de/dominikschadow/javasecurity/xss/OutputEscapedServlet.java b/xss/src/main/java/de/dominikschadow/javasecurity/xss/OutputEscapedServlet.java
index a8d3624f..5a644426 100644
--- a/xss/src/main/java/de/dominikschadow/javasecurity/xss/OutputEscapedServlet.java
+++ b/xss/src/main/java/de/dominikschadow/javasecurity/xss/OutputEscapedServlet.java
@@ -27,6 +27,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serial;
/**
* Servlet to return output escaping user input to prevent Cross-Site Scripting (XSS).
@@ -35,7 +36,8 @@
*/
@WebServlet(name = "OutputEscapedServlet", urlPatterns = {"/escaped"})
public class OutputEscapedServlet extends HttpServlet {
- private static final long serialVersionUID = 2290746121319783879L;
+ @Serial
+ private static final long serialVersionUID = 2290746121319783879L;
private static final Logger log = LoggerFactory.getLogger(OutputEscapedServlet.class);
@Override
diff --git a/xss/src/main/java/de/dominikschadow/javasecurity/xss/UnprotectedServlet.java b/xss/src/main/java/de/dominikschadow/javasecurity/xss/UnprotectedServlet.java
index 31d78a7d..7c9d8cd8 100644
--- a/xss/src/main/java/de/dominikschadow/javasecurity/xss/UnprotectedServlet.java
+++ b/xss/src/main/java/de/dominikschadow/javasecurity/xss/UnprotectedServlet.java
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serial;
/**
* Servlet receives unvalidated user input and returns it without further processing to the browser.
@@ -34,7 +35,8 @@
*/
@WebServlet(name = "UnprotectedServlet", urlPatterns = {"/unprotected"})
public class UnprotectedServlet extends HttpServlet {
- private static final long serialVersionUID = -7015937301709375951L;
+ @Serial
+ private static final long serialVersionUID = -7015937301709375951L;
private static final Logger log = LoggerFactory.getLogger(UnprotectedServlet.class);
@Override
From a5b1a8d33ccabb5dac49a8a329281d38a3977c14 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 17:45:50 +0200
Subject: [PATCH 118/602] final variable
---
.../javasecurity/sessionhandling/config/WebSecurityConfig.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/config/WebSecurityConfig.java b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/config/WebSecurityConfig.java
index 80c0f0f0..70d7f19e 100755
--- a/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/config/WebSecurityConfig.java
+++ b/session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/config/WebSecurityConfig.java
@@ -37,7 +37,7 @@
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
- private DataSource dataSource;
+ private final DataSource dataSource;
public WebSecurityConfig(DataSource dataSource) {
this.dataSource = dataSource;
From d8324bc9fbb6b3f1e51a0b20b5808911e8259949 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 17:50:13 +0200
Subject: [PATCH 119/602] fixed plugin version
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index b2fe4bd9..3a2acdca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -174,7 +174,7 @@
org.apache.maven.plugins
maven-project-info-reports-plugin
- 3.2.0
+ 3.1.2
org.springframework.boot
From 1ef35885808e24607012ff4395cc15a630c37625 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 17:54:29 +0200
Subject: [PATCH 120/602] downgrade to Java 16 for now
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 3a2acdca..bf429b32 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,7 @@
false
UTF-8
UTF-8
- 17
+ 16
From fef35a2f3d9d570b01dbc10cf25ba8a84fc8d73a Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 17:56:36 +0200
Subject: [PATCH 121/602] hm 11
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index bf429b32..43906f92 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,7 @@
false
UTF-8
UTF-8
- 16
+ 11
From 79fe6d547eba31e19d0f9e252126f472ee0b2d48 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 18:01:40 +0200
Subject: [PATCH 122/602] Java 16
---
.github/workflows/maven.yml | 4 ++++
pom.xml | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index eb0cda1c..b9872fc8 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -11,6 +11,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
+ - uses: actions/setup-java@v2
+ with:
+ distribution: 'adopt-hotspot'
+ java-version: '16'
- name: Build with Maven
run: mvn verify
- name: Dependency Check
diff --git a/pom.xml b/pom.xml
index 43906f92..bf429b32 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,7 @@
false
UTF-8
UTF-8
- 11
+ 16
From 0d1ae7e294e207b874daa80bc8a6177aeaf27515 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 18:06:14 +0200
Subject: [PATCH 123/602] Java 16
---
.github/workflows/maven.yml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index b9872fc8..6dd2a122 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -11,10 +11,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
- - uses: actions/setup-java@v2
+ - name: Configure Java
+ uses: actions/setup-java@v2
with:
- distribution: 'adopt-hotspot'
+ distribution: 'adopt'
java-version: '16'
+ cache: 'maven'
- name: Build with Maven
run: mvn verify
- name: Dependency Check
From 10ec4fcfe81af58a943860615e4c5f39b5e6520b Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 18:08:59 +0200
Subject: [PATCH 124/602] removed dependency check
---
.github/workflows/maven.yml | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 6dd2a122..46c7f662 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -26,13 +26,4 @@ jobs:
project: 'test'
path: '.'
format: 'HTML'
- others: ''
- - name: Upload Dependency Check results
- uses: actions/upload-artifact@master
- with:
- name: Depcheck report
- path: ${{github.workspace}}/reports
- - name: Measure test coverage
- uses: codecov/codecov-action@v1
- with:
- flags: unittests
\ No newline at end of file
+ others: ''
\ No newline at end of file
From e05f70981d52e07083ec383ee882e258e93f1605 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Mon, 20 Sep 2021 18:12:46 +0200
Subject: [PATCH 125/602] removed dependency check
---
.github/workflows/maven.yml | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 46c7f662..468132dd 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -18,12 +18,4 @@ jobs:
java-version: '16'
cache: 'maven'
- name: Build with Maven
- run: mvn verify
- - name: Dependency Check
- uses: dependency-check/Dependency-Check_Action@main
- id: Depcheck
- with:
- project: 'test'
- path: '.'
- format: 'HTML'
- others: ''
\ No newline at end of file
+ run: mvn verify
\ No newline at end of file
From 09bad730ef7ed341464693fc00de47b83fdcc7fa Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 23 Sep 2021 04:02:58 +0000
Subject: [PATCH 126/602] Bump junit-bom from 5.8.0 to 5.8.1
Bumps [junit-bom](https://github.com/junit-team/junit5) from 5.8.0 to 5.8.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.0...r5.8.1)
---
updated-dependencies:
- dependency-name: org.junit:junit-bom
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index bf429b32..38b00799 100644
--- a/pom.xml
+++ b/pom.xml
@@ -146,7 +146,7 @@
org.junit
junit-bom
- 5.8.0
+ 5.8.1
pom
import
From f26d77bb4af1345ae03c4c1235e32828be7d0fdf Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Thu, 23 Sep 2021 19:28:36 +0200
Subject: [PATCH 127/602] Spring Boot 2.5.5
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 38b00799..f20c02d3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.4
+ 2.5.5
From c6300622be2a61ee6a6587614408c0a25b59efba Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 27 Sep 2021 04:03:53 +0000
Subject: [PATCH 128/602] Bump bootstrap from 5.1.0 to 5.1.1
Bumps [bootstrap](https://github.com/webjars/bootstrap) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/webjars/bootstrap/releases)
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-5.1.0...bootstrap-5.1.1)
---
updated-dependencies:
- dependency-name: org.webjars:bootstrap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index f20c02d3..9872f0a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,7 +140,7 @@
org.webjars
bootstrap
- 5.1.0
+ 5.1.1
From 58e78603c88efa5b83b05296b0ebcaf41a57b539 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 28 Sep 2021 04:04:41 +0000
Subject: [PATCH 129/602] Bump guava from 30.1.1-jre to 31.0.1-jre
Bumps [guava](https://github.com/google/guava) from 30.1.1-jre to 31.0.1-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)
---
updated-dependencies:
- dependency-name: com.google.guava:guava
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index f20c02d3..d17c9c65 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,7 +113,7 @@
com.google.guava
guava
- 30.1.1-jre
+ 31.0.1-jre
com.google.crypto.tink
From a3cf3ffd9d1f44e29f25da7caceba4f751dbb0c5 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 30 Sep 2021 04:04:34 +0000
Subject: [PATCH 130/602] Bump dependency-check-maven from 6.3.1 to 6.3.2
Bumps [dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.3.1 to 6.3.2.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.3.1...v6.3.2)
---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-maven
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index f20c02d3..cd024ccd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -230,7 +230,7 @@
org.owasp
dependency-check-maven
- 6.3.1
+ 6.3.2
true
From 08ded254e61d648f8b1eefdb86fc2c63ce4ee2c0 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Oct 2021 10:23:46 +0200
Subject: [PATCH 131/602] switched to Temurin version 17
---
.github/workflows/maven.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 468132dd..0670cd42 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -14,8 +14,8 @@ jobs:
- name: Configure Java
uses: actions/setup-java@v2
with:
- distribution: 'adopt'
- java-version: '16'
+ distribution: 'temurin'
+ java-version: '17'
cache: 'maven'
- name: Build with Maven
run: mvn verify
\ No newline at end of file
From 3b4184b5d20193dd5fbff9e5e8cef52439ebbced Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Oct 2021 10:27:12 +0200
Subject: [PATCH 132/602] updated Maven command
---
.github/workflows/maven.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 0670cd42..bfb107c2 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -18,4 +18,4 @@ jobs:
java-version: '17'
cache: 'maven'
- name: Build with Maven
- run: mvn verify
\ No newline at end of file
+ run: mvn -B package --file pom.xml
\ No newline at end of file
From b0025eb3ad0d9092a4830e412068f54f659cc0ab Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Oct 2021 10:28:29 +0200
Subject: [PATCH 133/602] Switched to Java 17
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ace9f7ca..91f92b34 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,7 @@
false
UTF-8
UTF-8
- 16
+ 17
From adba7a870b4a7119a50f4b18a2021624b20607c6 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Oct 2021 10:34:49 +0200
Subject: [PATCH 134/602] re-added dependency check
---
.github/workflows/maven.yml | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index bfb107c2..6b937fd1 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -18,4 +18,16 @@ jobs:
java-version: '17'
cache: 'maven'
- name: Build with Maven
- run: mvn -B package --file pom.xml
\ No newline at end of file
+ run: mvn -B package --file pom.xml
+ - name: Dependency Check
+ uses: dependency-check/Dependency-Check_Action@main
+ id: Depcheck
+ with:
+ project: 'JavaSecurity'
+ path: '.'
+ format: 'HTML'
+ - name: Upload Dependency Check results
+ uses: actions/upload-artifact@master
+ with:
+ name: Depcheck report
+ path: ${{github.workspace}}/reports
\ No newline at end of file
From 139d7d526b0d12d135da2326ad01c3bf33e92021 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Oct 2021 10:38:44 +0200
Subject: [PATCH 135/602] dependency check configuration
---
.github/workflows/maven.yml | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 6b937fd1..5bc476fe 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -11,7 +11,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
- - name: Configure Java
+ - name: Configure Java for Build
uses: actions/setup-java@v2
with:
distribution: 'temurin'
@@ -19,6 +19,10 @@ jobs:
cache: 'maven'
- name: Build with Maven
run: mvn -B package --file pom.xml
+ - name: Configure Java for Dependency Check
+ uses: actions/setup-java@v1
+ with:
+ java-version: 11
- name: Dependency Check
uses: dependency-check/Dependency-Check_Action@main
id: Depcheck
@@ -26,7 +30,7 @@ jobs:
project: 'JavaSecurity'
path: '.'
format: 'HTML'
- - name: Upload Dependency Check results
+ - name: Upload Dependency Check Results
uses: actions/upload-artifact@master
with:
name: Depcheck report
From 7a5345106350133623134850014a6b5287fa3476 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Oct 2021 10:42:11 +0200
Subject: [PATCH 136/602] removed dependency check again
---
.github/workflows/maven.yml | 21 ++-------------------
1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 5bc476fe..465469de 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,5 +1,3 @@
-name: Build
-
on:
push:
pull_request:
@@ -8,6 +6,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
+ name: JavaSecurity Build
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -18,20 +17,4 @@ jobs:
java-version: '17'
cache: 'maven'
- name: Build with Maven
- run: mvn -B package --file pom.xml
- - name: Configure Java for Dependency Check
- uses: actions/setup-java@v1
- with:
- java-version: 11
- - name: Dependency Check
- uses: dependency-check/Dependency-Check_Action@main
- id: Depcheck
- with:
- project: 'JavaSecurity'
- path: '.'
- format: 'HTML'
- - name: Upload Dependency Check Results
- uses: actions/upload-artifact@master
- with:
- name: Depcheck report
- path: ${{github.workspace}}/reports
\ No newline at end of file
+ run: mvn -B package --file pom.xml
\ No newline at end of file
From 64c513fe49fcd4cbfeb8a856da57c96aff48832d Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sun, 3 Oct 2021 10:46:00 +0200
Subject: [PATCH 137/602] added Build name for badge again
---
.github/workflows/maven.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 465469de..c93258a9 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,3 +1,5 @@
+name: Build
+
on:
push:
pull_request:
From 65a1616f6a6ee1499de0780749a60705d508b56b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 12 Oct 2021 04:04:24 +0000
Subject: [PATCH 138/602] Bump dependency-check-maven from 6.3.2 to 6.4.1
Bumps [dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.3.2 to 6.4.1.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.3.2...v6.4.1)
---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-maven
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 91f92b34..ac2fc61e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -230,7 +230,7 @@
org.owasp
dependency-check-maven
- 6.3.2
+ 6.4.1
true
From 78147bd214eb94a07e0ac7d3e24a004e71c72701 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 12 Oct 2021 04:04:33 +0000
Subject: [PATCH 139/602] Bump bootstrap from 5.1.1 to 5.1.2
Bumps [bootstrap](https://github.com/webjars/bootstrap) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/webjars/bootstrap/releases)
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-5.1.1...bootstrap-5.1.2)
---
updated-dependencies:
- dependency-name: org.webjars:bootstrap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 91f92b34..759cc607 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,7 +140,7 @@
org.webjars
bootstrap
- 5.1.1
+ 5.1.2
From 1739c3c45b5bf783ea4691f6bdd90bb3b13d628d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 13 Oct 2021 04:03:51 +0000
Subject: [PATCH 140/602] Bump jetty-maven-plugin from 11.0.6 to 11.0.7
Bumps [jetty-maven-plugin](https://github.com/eclipse/jetty.project) from 11.0.6 to 11.0.7.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.6...jetty-11.0.7)
---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 91f92b34..f160005e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -164,7 +164,7 @@
org.eclipse.jetty
jetty-maven-plugin
- 11.0.6
+ 11.0.7
org.apache.maven.plugins
From 7f811fbf96a79c00ae70f13a56ed193ba015e9e4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 14 Oct 2021 04:02:55 +0000
Subject: [PATCH 141/602] Bump spotbugs-maven-plugin from 4.4.1 to 4.4.2
Bumps [spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.4.1 to 4.4.2.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.4.1...spotbugs-maven-plugin-4.4.2)
---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 91f92b34..d1c93c95 100644
--- a/pom.xml
+++ b/pom.xml
@@ -214,7 +214,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.4.1
+ 4.4.2
Max
Low
From 45d67d920061342d1de88c0291270832d25f48c7 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 19 Oct 2021 04:03:36 +0000
Subject: [PATCH 142/602] Bump bootstrap from 5.1.2 to 5.1.3
Bumps [bootstrap](https://github.com/webjars/bootstrap) from 5.1.2 to 5.1.3.
- [Release notes](https://github.com/webjars/bootstrap/releases)
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-5.1.2...bootstrap-5.1.3)
---
updated-dependencies:
- dependency-name: org.webjars:bootstrap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 973318ec..90c26ec2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,7 +140,7 @@
org.webjars
bootstrap
- 5.1.2
+ 5.1.3
From a294be91f2b579adcac1659a3b1f45fc54d4061b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 22 Oct 2021 04:04:04 +0000
Subject: [PATCH 143/602] Bump spring-boot-starter-parent from 2.5.5 to 2.5.6
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.5.5 to 2.5.6.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.5.5...v2.5.6)
---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 973318ec..ced82f5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.5
+ 2.5.6
From bd62af08291a0de693d8bb9fee7cbec0018cd743 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 22 Oct 2021 04:04:08 +0000
Subject: [PATCH 144/602] Bump spotbugs-maven-plugin from 4.4.2 to 4.4.2.2
Bumps [spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.4.2 to 4.4.2.2.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.4.2...spotbugs-maven-plugin-4.4.2.2)
---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 973318ec..b6fd5924 100644
--- a/pom.xml
+++ b/pom.xml
@@ -214,7 +214,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.4.2
+ 4.4.2.2
Max
Low
From f5443845223d266c77d98a24c3104600e68c3a24 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 6 Nov 2021 14:41:32 +0100
Subject: [PATCH 145/602] switched to record
---
.../dominikschadow/javasecurity/tasks/FirstTask.java | 12 +-----------
.../javasecurity/tasks/InterceptMeController.java | 4 ++--
2 files changed, 3 insertions(+), 13 deletions(-)
diff --git a/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/FirstTask.java b/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/FirstTask.java
index d2026301..18360f59 100644
--- a/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/FirstTask.java
+++ b/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/FirstTask.java
@@ -22,14 +22,4 @@
*
* @author Dominik Schadow
*/
-public class FirstTask {
- private String name;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-}
+public record FirstTask (String name) {}
diff --git a/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/InterceptMeController.java b/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/InterceptMeController.java
index ad6b36e1..37452184 100644
--- a/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/InterceptMeController.java
+++ b/intercept-me/src/main/java/de/dominikschadow/javasecurity/tasks/InterceptMeController.java
@@ -33,7 +33,7 @@
public class InterceptMeController {
@GetMapping("/")
public String home(Model model) {
- model.addAttribute("firstTask", new FirstTask());
+ model.addAttribute("firstTask", new FirstTask(""));
return "index";
}
@@ -42,7 +42,7 @@ public String home(Model model) {
public String firstTask(FirstTask firstTask, Model model) {
String result = "FAILURE";
- if (StringUtils.equals(firstTask.getName(), "inject")) {
+ if (StringUtils.equals(firstTask.name(), "inject")) {
result = "SUCCESS";
}
From 8cab5ee88e6b61a0dc1fba1ce2237711ea84e0c9 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 6 Nov 2021 14:47:26 +0100
Subject: [PATCH 146/602] switched to record
---
.../javasecurity/greetings/Greeting.java | 11 +----------
.../javasecurity/greetings/GreetingController.java | 2 +-
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/Greeting.java b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/Greeting.java
index 7f070bd7..0f45c2bd 100644
--- a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/Greeting.java
+++ b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/Greeting.java
@@ -17,14 +17,5 @@
*/
package de.dominikschadow.javasecurity.greetings;
-public class Greeting {
- private String name;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
+public record Greeting(String name) {
}
diff --git a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/GreetingController.java b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/GreetingController.java
index 62d9b21d..4778cfcd 100644
--- a/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/GreetingController.java
+++ b/csp-spring-security/src/main/java/de/dominikschadow/javasecurity/greetings/GreetingController.java
@@ -32,7 +32,7 @@
public class GreetingController {
@GetMapping("/")
public String home(Model model) {
- model.addAttribute("greeting", new Greeting());
+ model.addAttribute("greeting", new Greeting(""));
return "index";
}
From 217c6ba2db194915ef687d2399279f57fc9efc9d Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 6 Nov 2021 14:49:27 +0100
Subject: [PATCH 147/602] switched to record
---
.../javasecurity/csrf/home/IndexController.java | 2 +-
.../javasecurity/csrf/orders/Order.java | 11 +----------
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/home/IndexController.java b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/home/IndexController.java
index c05e0bd1..af3407f9 100644
--- a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/home/IndexController.java
+++ b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/home/IndexController.java
@@ -35,7 +35,7 @@
public class IndexController {
@ModelAttribute("order")
public Order order() {
- return new Order();
+ return new Order("");
}
@GetMapping
diff --git a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/Order.java b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/Order.java
index d4f0178e..c7addcad 100644
--- a/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/Order.java
+++ b/csrf-spring-security/src/main/java/de/dominikschadow/javasecurity/csrf/orders/Order.java
@@ -22,14 +22,5 @@
*
* @author Dominik Schadow
*/
-public class Order {
- private String item;
-
- public String getItem() {
- return item;
- }
-
- public void setItem(String item) {
- this.item = item;
- }
+public record Order (String item) {
}
From 1289bade4536f3458312618b8f2301312a4c3396 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 6 Nov 2021 14:50:59 +0100
Subject: [PATCH 148/602] switched to record
---
.../logging/home/HomeController.java | 6 +++---
.../javasecurity/logging/home/Login.java | 20 +------------------
2 files changed, 4 insertions(+), 22 deletions(-)
diff --git a/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/HomeController.java b/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/HomeController.java
index dadc82fa..30344f22 100644
--- a/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/HomeController.java
+++ b/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/HomeController.java
@@ -36,15 +36,15 @@ public class HomeController {
@GetMapping("/")
public String home(Model model) {
- model.addAttribute("login", new Login());
+ model.addAttribute("login", new Login("", ""));
return "index";
}
@PostMapping("login")
public String firstTask(Login login, Model model) {
- String username = login.getUsername();
- String password = login.getPassword();
+ String username = login.username();
+ String password = login.password();
log.info(SecurityMarkers.CONFIDENTIAL, "User {} with password {} logged in", username, password);
log.info(SecurityMarkers.EVENT_FAILURE, "User {} with password {} logged in", username, password);
diff --git a/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/Login.java b/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/Login.java
index f7014f65..0bb72413 100644
--- a/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/Login.java
+++ b/security-logging/src/main/java/de/dominikschadow/javasecurity/logging/home/Login.java
@@ -1,22 +1,4 @@
package de.dominikschadow.javasecurity.logging.home;
-public class Login {
- private String username;
- private String password;
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
+public record Login(String username, String password) {
}
From 66ca29f18a346b90aa22b539ec16c5d85d096611 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 9 Nov 2021 04:05:08 +0000
Subject: [PATCH 149/602] Bump dependency-check-maven from 6.4.1 to 6.5.0
Bumps [dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.4.1 to 6.5.0.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.4.1...v6.5.0)
---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-maven
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ba2ffa7b..2aa4862a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -230,7 +230,7 @@
org.owasp
dependency-check-maven
- 6.4.1
+ 6.5.0
true
From 1c95cda60be4505bc5ee77d86b0579021ec81175 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 19 Nov 2021 04:04:04 +0000
Subject: [PATCH 150/602] Bump spring-boot-starter-parent from 2.5.6 to 2.5.7
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.5.6 to 2.5.7.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.5.6...v2.5.7)
---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 2aa4862a..0c58ae30 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.6
+ 2.5.7
From ee2f25651b57b424b626c2f5d3d628f1b2f1a6a9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 19 Nov 2021 04:04:12 +0000
Subject: [PATCH 151/602] Bump spotbugs-maven-plugin from 4.4.2.2 to 4.5.0.0
Bumps [spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.4.2.2 to 4.5.0.0.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.4.2.2...spotbugs-maven-plugin-4.5.0.0)
---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 2aa4862a..1ac286a2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -214,7 +214,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.4.2.2
+ 4.5.0.0
Max
Low
From 4ddcc6f855a4fdc9114e0ee107eb7dce19c6a330 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 22 Nov 2021 04:05:34 +0000
Subject: [PATCH 152/602] Bump spring-boot-starter-parent from 2.5.7 to 2.6.0
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.5.7 to 2.6.0.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.5.7...v2.6.0)
---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 59d82aab..ff908f95 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.7
+ 2.6.0
From de66d7919d3b52972fbb7e712034c02ed32547f3 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 29 Nov 2021 04:04:01 +0000
Subject: [PATCH 153/602] Bump junit-bom from 5.8.1 to 5.8.2
Bumps [junit-bom](https://github.com/junit-team/junit5) from 5.8.1 to 5.8.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.8.2)
---
updated-dependencies:
- dependency-name: org.junit:junit-bom
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ff908f95..2468e9f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -146,7 +146,7 @@
org.junit
junit-bom
- 5.8.1
+ 5.8.2
pom
import
From 4fc0ef73818786125c851c39b69a5d322e92bbce Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 30 Nov 2021 04:05:03 +0000
Subject: [PATCH 154/602] Bump spring-boot-starter-parent from 2.6.0 to 2.6.1
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.6.0...v2.6.1)
---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ff908f95..097ae3ff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.6.0
+ 2.6.1
From 06a4e27a6ac7af162f73bca7cb8ea4b5352608cb Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 10 Dec 2021 01:10:06 +0000
Subject: [PATCH 155/602] Bump log4j-api from 2.14.1 to 2.15.0
Bumps log4j-api from 2.14.1 to 2.15.0.
---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ca76891e..edb1210f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,7 @@
- 2.14.1
+ 2.15.0
1.2.3
1.6.1
dschadow
From 8735243b3b399790520d669fd8886cee3cb047d6 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 10 Dec 2021 01:41:22 +0000
Subject: [PATCH 156/602] Bump log4j-core from 2.14.1 to 2.15.0
Bumps log4j-core from 2.14.1 to 2.15.0.
---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ca76891e..edb1210f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,7 @@
- 2.14.1
+ 2.15.0
1.2.3
1.6.1
dschadow
From f52089dcf6757b0ddd7ec92db60a8a4c1c0701a9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 04:05:37 +0000
Subject: [PATCH 157/602] Bump log4j.version from 2.15.0 to 2.16.0
Bumps `log4j.version` from 2.15.0 to 2.16.0.
Updates `log4j-api` from 2.15.0 to 2.16.0
Updates `log4j-core` from 2.15.0 to 2.16.0
Updates `log4j-slf4j-impl` from 2.15.0 to 2.16.0
---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-core
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-slf4j-impl
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index edb1210f..57cd248a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,7 @@
- 2.15.0
+ 2.16.0
1.2.3
1.6.1
dschadow
From 3f95aa76605914aa2a9bb9e84bd46496200aba2e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 20:51:29 +0000
Subject: [PATCH 158/602] Bump log4j-api from 2.15.0 to 2.16.0
Bumps log4j-api from 2.15.0 to 2.16.0.
---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index edb1210f..57cd248a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,7 @@
- 2.15.0
+ 2.16.0
1.2.3
1.6.1
dschadow
From 067681ba06aacdce28c45302a978d85efed180bd Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 21:46:58 +0000
Subject: [PATCH 159/602] Bump log4j-core from 2.15.0 to 2.16.0
Bumps log4j-core from 2.15.0 to 2.16.0.
---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index edb1210f..57cd248a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,7 @@
- 2.15.0
+ 2.16.0
1.2.3
1.6.1
dschadow
From 08cc488db73ef5e2d70c73b3e56ab1886018759d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 15 Dec 2021 04:06:13 +0000
Subject: [PATCH 160/602] Bump security-logging-logback from 1.1.6 to 1.1.7
Bumps [security-logging-logback](https://github.com/javabeanz/owasp-security-logging) from 1.1.6 to 1.1.7.
- [Release notes](https://github.com/javabeanz/owasp-security-logging/releases)
- [Commits](https://github.com/javabeanz/owasp-security-logging/compare/v1.1.6...v1.1.7)
---
updated-dependencies:
- dependency-name: org.owasp:security-logging-logback
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index edb1210f..67d61f14 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,7 @@
org.owasp
security-logging-logback
- 1.1.6
+ 1.1.7
org.owasp.esapi
From c2fd741b800dfae88b61904575ff830de67292e5 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 18 Dec 2021 13:32:57 +0100
Subject: [PATCH 161/602] removed log4j as logger
---
crypto-hash/pom.xml | 12 ------------
.../de/dominikschadow/javasecurity/hash/MD5.java | 12 +++++-------
.../dominikschadow/javasecurity/hash/PBKDF2.java | 14 ++++++--------
.../dominikschadow/javasecurity/hash/SHA512.java | 14 ++++++--------
4 files changed, 17 insertions(+), 35 deletions(-)
diff --git a/crypto-hash/pom.xml b/crypto-hash/pom.xml
index abb8e404..0a13ca48 100644
--- a/crypto-hash/pom.xml
+++ b/crypto-hash/pom.xml
@@ -21,17 +21,5 @@
com.google.guava
guava
-
- org.apache.logging.log4j
- log4j-api
-
-
- org.apache.logging.log4j
- log4j-core
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
-
\ No newline at end of file
diff --git a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/MD5.java b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/MD5.java
index df8a43c2..31601deb 100644
--- a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/MD5.java
+++ b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/MD5.java
@@ -18,8 +18,6 @@
package de.dominikschadow.javasecurity.hash;
import com.google.common.io.BaseEncoding;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
@@ -34,7 +32,7 @@
* @author Dominik Schadow
*/
public class MD5 {
- private static final Logger log = LoggerFactory.getLogger(MD5.class);
+ private static final System.Logger LOG = System.getLogger(MD5.class.getName());
private static final String ALGORITHM = "MD5";
/**
@@ -50,9 +48,9 @@ public static void main(String[] args) {
byte[] hash = calculateHash(password);
boolean correct = verifyPassword(hash, password);
- log.info("Entered password is correct: {}", correct);
+ LOG.log(System.Logger.Level.INFO, "Entered password is correct: {0}", correct);
} catch (NoSuchAlgorithmException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -66,8 +64,8 @@ private static byte[] calculateHash(String password) throws NoSuchAlgorithmExcep
private static boolean verifyPassword(byte[] originalHash, String password) throws NoSuchAlgorithmException {
byte[] comparisonHash = calculateHash(password);
- log.info("hash 1: {}", BaseEncoding.base16().encode(originalHash));
- log.info("hash 2: {}", BaseEncoding.base16().encode(comparisonHash));
+ LOG.log(System.Logger.Level.INFO, "hash 1: {0}", BaseEncoding.base16().encode(originalHash));
+ LOG.log(System.Logger.Level.INFO, "hash 2: {0}", BaseEncoding.base16().encode(comparisonHash));
return comparePasswords(originalHash, comparisonHash);
}
diff --git a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java
index d0d6ce6f..dd38904f 100644
--- a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java
+++ b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/PBKDF2.java
@@ -18,8 +18,6 @@
package de.dominikschadow.javasecurity.hash;
import com.google.common.io.BaseEncoding;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
@@ -36,7 +34,7 @@
* @author Dominik Schadow
*/
public class PBKDF2 {
- private static final Logger log = LoggerFactory.getLogger(PBKDF2.class);
+ private static final System.Logger LOG = System.getLogger(PBKDF2.class.getName());
private static final String ALGORITHM = "PBKDF2WithHmacSHA512";
private static final int ITERATIONS = 10000;
// salt size at least 32 byte
@@ -60,15 +58,15 @@ private static void hash() {
SecretKeyFactory skf = SecretKeyFactory.getInstance(ALGORITHM);
byte[] salt = generateSalt();
- log.info("Hashing password {} with hash algorithm {}, hash size {}, # of iterations {} and salt {}",
+ LOG.log(System.Logger.Level.INFO, "Hashing password {0} with hash algorithm {1}, hash size {2}, # of iterations {3} and salt {4}",
String.valueOf(password), ALGORITHM, HASH_SIZE, ITERATIONS, BaseEncoding.base16().encode(salt));
byte[] hash = calculateHash(skf, password, salt);
boolean correct = verifyPassword(skf, hash, password, salt);
- log.info("Entered password is correct: {}", correct);
+ LOG.log(System.Logger.Level.INFO, "Entered password is correct: {0}", correct);
} catch (NoSuchAlgorithmException | InvalidKeySpecException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -92,8 +90,8 @@ private static boolean verifyPassword(SecretKeyFactory skf, byte[] originalHash,
InvalidKeySpecException {
byte[] comparisonHash = calculateHash(skf, password, salt);
- log.info("hash 1: {}", BaseEncoding.base16().encode(originalHash));
- log.info("hash 2: {}", BaseEncoding.base16().encode(comparisonHash));
+ LOG.log(System.Logger.Level.INFO, "hash 1: {0}", BaseEncoding.base16().encode(originalHash));
+ LOG.log(System.Logger.Level.INFO, "hash 2: {0}", BaseEncoding.base16().encode(comparisonHash));
return comparePasswords(originalHash, comparisonHash);
}
diff --git a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
index 366739e1..58e997fc 100644
--- a/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
+++ b/crypto-hash/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
@@ -19,8 +19,6 @@
import com.google.common.io.BaseEncoding;
import com.google.common.primitives.Bytes;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
@@ -36,7 +34,7 @@
* @author Dominik Schadow
*/
public class SHA512 {
- private static final Logger log = LoggerFactory.getLogger(SHA512.class);
+ private static final System.Logger LOG = System.getLogger(SHA512.class.getName());
private static final String ALGORITHM = "SHA-512";
private static final int ITERATIONS = 1000000;
private static final int SALT_SIZE = 64;
@@ -53,15 +51,15 @@ public static void main(String[] args) {
try {
byte[] salt = generateSalt();
- log.info("Password {}. hash algorithm {}, iterations {}, salt {}", password, ALGORITHM, ITERATIONS,
+ LOG.log(System.Logger.Level.INFO,"Password {0}. hash algorithm {1}, iterations {2}, salt {3}", password, ALGORITHM, ITERATIONS,
BaseEncoding.base16().encode(salt));
byte[] hash = calculateHash(password, salt);
boolean correct = verifyPassword(hash, password, salt);
- log.info("Entered password is correct: {}", correct);
+ LOG.log(System.Logger.Level.INFO,"Entered password is correct: {0}", correct);
} catch (NoSuchAlgorithmException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -91,8 +89,8 @@ private static boolean verifyPassword(byte[] originalHash, String password, byte
NoSuchAlgorithmException {
byte[] comparisonHash = calculateHash(password, salt);
- log.info("hash 1: {}", BaseEncoding.base16().encode(originalHash));
- log.info("hash 2: {}", BaseEncoding.base16().encode(comparisonHash));
+ LOG.log(System.Logger.Level.INFO,"hash 1: {0}", BaseEncoding.base16().encode(originalHash));
+ LOG.log(System.Logger.Level.INFO,"hash 2: {0}", BaseEncoding.base16().encode(comparisonHash));
return comparePasswords(originalHash, comparisonHash);
}
From 42e1d3968e83a5e8fd21983cdf224ac2ece010e4 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 18 Dec 2021 13:36:12 +0100
Subject: [PATCH 162/602] removed log4j as logger
---
crypto-java/pom.xml | 12 ------------
.../dominikschadow/javasecurity/asymmetric/DSA.java | 12 +++++-------
.../dominikschadow/javasecurity/asymmetric/RSA.java | 12 +++++-------
.../dominikschadow/javasecurity/symmetric/AES.java | 12 +++++-------
4 files changed, 15 insertions(+), 33 deletions(-)
diff --git a/crypto-java/pom.xml b/crypto-java/pom.xml
index 67a119b6..1738af9e 100644
--- a/crypto-java/pom.xml
+++ b/crypto-java/pom.xml
@@ -21,17 +21,5 @@
com.google.guava
guava
-
- org.apache.logging.log4j
- log4j-api
-
-
- org.apache.logging.log4j
- log4j-core
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
-
\ No newline at end of file
diff --git a/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java b/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
index 8326111d..99f6b151 100644
--- a/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
+++ b/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
@@ -18,8 +18,6 @@
package de.dominikschadow.javasecurity.asymmetric;
import com.google.common.io.BaseEncoding;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.InputStream;
@@ -36,7 +34,7 @@
* @author Dominik Schadow
*/
public class DSA {
- private static final Logger log = LoggerFactory.getLogger(DSA.class);
+ private static final System.Logger LOG = System.getLogger(DSA.class.getName());
private static final String ALGORITHM = "SHA1withDSA";
private static final String KEYSTORE_PATH = "/samples.ks";
@@ -67,7 +65,7 @@ private static void sign() {
printReadableMessages(initialText, signature, valid);
} catch (NoSuchAlgorithmException | SignatureException | KeyStoreException | CertificateException |
UnrecoverableKeyException | InvalidKeyException | IOException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -114,8 +112,8 @@ private static boolean verify(PublicKey publicKey, byte[] signature, String init
}
private static void printReadableMessages(String initialText, byte[] signature, boolean valid) {
- log.info("initial text: {}", initialText);
- log.info("signature: {}", BaseEncoding.base16().encode(signature));
- log.info("signature valid: {}", valid);
+ LOG.log(System.Logger.Level.INFO, "initial text: {0}", initialText);
+ LOG.log(System.Logger.Level.INFO, "signature: {0}", BaseEncoding.base16().encode(signature));
+ LOG.log(System.Logger.Level.INFO, "signature valid: {0}", valid);
}
}
diff --git a/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java b/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
index 8382f3a6..f49801c1 100644
--- a/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
+++ b/crypto-java/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
@@ -18,8 +18,6 @@
package de.dominikschadow.javasecurity.asymmetric;
import com.google.common.io.BaseEncoding;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
@@ -40,7 +38,7 @@
* @author Dominik Schadow
*/
public class RSA {
- private static final Logger log = LoggerFactory.getLogger(RSA.class);
+ private static final System.Logger LOG = System.getLogger(RSA.class.getName());
private static final String ALGORITHM = "RSA";
private static final String KEYSTORE_PATH = "/samples.ks";
@@ -72,7 +70,7 @@ private static void encrypt() {
} catch (NoSuchPaddingException | NoSuchAlgorithmException | IllegalBlockSizeException | BadPaddingException |
KeyStoreException | CertificateException | UnrecoverableKeyException | InvalidKeyException |
IOException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -117,8 +115,8 @@ private static byte[] decrypt(PrivateKey privateKey, byte[] ciphertext) throws N
}
private static void printReadableMessages(String initialText, byte[] ciphertext, byte[] plaintext) {
- log.info("initial text: {}", initialText);
- log.info("cipher text: {}", BaseEncoding.base16().encode(ciphertext));
- log.info("plain text: {}", new String(plaintext, StandardCharsets.UTF_8));
+ LOG.log(System.Logger.Level.INFO, "initial text: {0}", initialText);
+ LOG.log(System.Logger.Level.INFO, "cipher text: {0}", BaseEncoding.base16().encode(ciphertext));
+ LOG.log(System.Logger.Level.INFO, "plain text: {0}", new String(plaintext, StandardCharsets.UTF_8));
}
}
diff --git a/crypto-java/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java b/crypto-java/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
index 8c41ee71..668ffc99 100644
--- a/crypto-java/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
+++ b/crypto-java/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
@@ -18,8 +18,6 @@
package de.dominikschadow.javasecurity.symmetric;
import com.google.common.io.BaseEncoding;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
@@ -46,7 +44,7 @@
* @author Dominik Schadow
*/
public class AES {
- private static final Logger log = LoggerFactory.getLogger(AES.class);
+ private static final System.Logger LOG = System.getLogger(AES.class.getName());
private static final String ALGORITHM = "AES/CBC/PKCS5Padding";
private static final String KEYSTORE_PATH = "/samples.ks";
private Cipher cipher;
@@ -74,7 +72,7 @@ private void encrypt() {
} catch (NoSuchPaddingException | NoSuchAlgorithmException | IllegalBlockSizeException | BadPaddingException |
KeyStoreException | CertificateException | UnrecoverableKeyException |
InvalidAlgorithmParameterException | InvalidKeyException | IOException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -110,8 +108,8 @@ private byte[] decrypt(SecretKeySpec secretKeySpec, byte[] ciphertext) throws
}
private static void printReadableMessages(String initialText, byte[] ciphertext, byte[] plaintext) {
- log.info("initial text: {}", initialText);
- log.info("cipher text: {}", BaseEncoding.base16().encode(ciphertext));
- log.info("plain text: {}", new String(plaintext, StandardCharsets.UTF_8));
+ LOG.log(System.Logger.Level.INFO, "initial text: {0}", initialText);
+ LOG.log(System.Logger.Level.INFO, "cipher text: {0}", BaseEncoding.base16().encode(ciphertext));
+ LOG.log(System.Logger.Level.INFO, "plain text: {0}", new String(plaintext, StandardCharsets.UTF_8));
}
}
From 0b13dc60d3735c566a13ba80bd6cd3dec0eabf9e Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 18 Dec 2021 13:40:59 +0100
Subject: [PATCH 163/602] removed log4j as logger
---
crypto-keyczar/pom.xml | 18 ------------------
.../javasecurity/asymmetric/DSA.java | 12 +++++-------
.../javasecurity/asymmetric/RSA.java | 12 +++++-------
.../javasecurity/symmetric/AES.java | 12 +++++-------
4 files changed, 15 insertions(+), 39 deletions(-)
diff --git a/crypto-keyczar/pom.xml b/crypto-keyczar/pom.xml
index 9ad9de23..23e5a5dd 100644
--- a/crypto-keyczar/pom.xml
+++ b/crypto-keyczar/pom.xml
@@ -20,28 +20,10 @@
org.zalando.stups
crypto-keyczar
-
-
- log4j
- log4j
-
-
com.google.code.gson
gson
-
- org.apache.logging.log4j
- log4j-api
-
-
- org.apache.logging.log4j
- log4j-core
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
-
\ No newline at end of file
diff --git a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
index c7e161ed..5145b79d 100644
--- a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
+++ b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/DSA.java
@@ -20,8 +20,6 @@
import org.keyczar.Signer;
import org.keyczar.Verifier;
import org.keyczar.exceptions.KeyczarException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Digital signature sample with Keyczar. Loads the DSA key from the sample key set, signs and verifies sample text with it.
@@ -29,7 +27,7 @@
* @author Dominik Schadow
*/
public class DSA {
- private static final Logger log = LoggerFactory.getLogger(DSA.class);
+ private static final System.Logger LOG = System.getLogger(DSA.class.getName());
private static final String KEYSET_PATH = "crypto-keyczar/src/main/resources/key-sets/sign";
/**
@@ -46,7 +44,7 @@ public static void main(String[] args) {
printReadableMessages(initialText, signature, valid);
} catch (KeyczarException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -61,8 +59,8 @@ private static boolean verify(String initialText, String signature) throws Keycz
}
private static void printReadableMessages(String initialText, String signature, boolean valid) {
- log.info("initialText: {}", initialText);
- log.info("signature: {}", signature);
- log.info("signature valid: {}", valid);
+ LOG.log(System.Logger.Level.INFO, "initialText: {0}", initialText);
+ LOG.log(System.Logger.Level.INFO, "signature: {0}", signature);
+ LOG.log(System.Logger.Level.INFO, "signature valid: {0}", valid);
}
}
diff --git a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
index 2d0baaae..dbff38f6 100644
--- a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
+++ b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/asymmetric/RSA.java
@@ -19,8 +19,6 @@
import org.keyczar.Crypter;
import org.keyczar.exceptions.KeyczarException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Asymmetric encryption sample with Keyczar. Loads the RSA key from the sample key set, encrypts and decrypts sample text with it.
@@ -28,7 +26,7 @@
* @author Dominik Schadow
*/
public class RSA {
- private static final Logger log = LoggerFactory.getLogger(RSA.class);
+ private static final System.Logger LOG = System.getLogger(RSA.class.getName());
private static final String KEYSET_PATH = "crypto-keyczar/src/main/resources/key-sets/encrypt/asymmetric";
/**
@@ -45,7 +43,7 @@ public static void main(String[] args) {
printReadableMessages(initialText, ciphertext, plaintext);
} catch (KeyczarException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -67,8 +65,8 @@ private static String decrypt(String ciphertext) throws KeyczarException {
}
private static void printReadableMessages(String initialText, String ciphertext, String plaintext) {
- log.info("initialText: {}", initialText);
- log.info("cipherText: {}", ciphertext);
- log.info("plaintext: {}", plaintext);
+ LOG.log(System.Logger.Level.INFO, "initialText: {0}", initialText);
+ LOG.log(System.Logger.Level.INFO, "cipherText: {0}", ciphertext);
+ LOG.log(System.Logger.Level.INFO, "plaintext: {0}", plaintext);
}
}
diff --git a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
index 123f9b59..94692cc6 100644
--- a/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
+++ b/crypto-keyczar/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
@@ -19,8 +19,6 @@
import org.keyczar.Crypter;
import org.keyczar.exceptions.KeyczarException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Symmetric encryption sample with Keyczar. Loads the AES key from the sample key set, encrypts and decrypts sample
@@ -29,7 +27,7 @@
* @author Dominik Schadow
*/
public class AES {
- private static final Logger log = LoggerFactory.getLogger(AES.class);
+ private static final System.Logger LOG = System.getLogger(AES.class.getName());
private static final String KEYSET_PATH = "crypto-keyczar/src/main/resources/key-sets/encrypt/symmetric";
/**
@@ -46,7 +44,7 @@ public static void main(String[] args) {
printReadableMessages(initialText, ciphertext, plaintext);
} catch (KeyczarException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -68,8 +66,8 @@ private static String decrypt(String ciphertext) throws KeyczarException {
}
private static void printReadableMessages(String initialText, String ciphertext, String plaintext) {
- log.info("initialText: {}", initialText);
- log.info("cipherText: {}", ciphertext);
- log.info("plaintext: {}", plaintext);
+ LOG.log(System.Logger.Level.INFO, "initialText: {0}", initialText);
+ LOG.log(System.Logger.Level.INFO, "cipherText: {0}", ciphertext);
+ LOG.log(System.Logger.Level.INFO, "plaintext: {0}", plaintext);
}
}
From 44451dec4623d03144a0036eac8fc7278444ca55 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 18 Dec 2021 13:43:48 +0100
Subject: [PATCH 164/602] removed log4j as logger
---
crypto-shiro/pom.xml | 12 ------------
.../dominikschadow/javasecurity/hash/SHA512.java | 14 ++++++--------
.../dominikschadow/javasecurity/symmetric/AES.java | 12 +++++-------
3 files changed, 11 insertions(+), 27 deletions(-)
diff --git a/crypto-shiro/pom.xml b/crypto-shiro/pom.xml
index 4343116f..70a18437 100644
--- a/crypto-shiro/pom.xml
+++ b/crypto-shiro/pom.xml
@@ -21,17 +21,5 @@
org.apache.shiro
shiro-core
-
- org.apache.logging.log4j
- log4j-api
-
-
- org.apache.logging.log4j
- log4j-core
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
-
\ No newline at end of file
diff --git a/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java b/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
index f8974a0d..405d43fb 100644
--- a/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
+++ b/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/hash/SHA512.java
@@ -22,8 +22,6 @@
import org.apache.shiro.crypto.hash.Hash;
import org.apache.shiro.crypto.hash.HashRequest;
import org.apache.shiro.util.ByteSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.util.Arrays;
@@ -34,7 +32,7 @@
* @author Dominik Schadow
*/
public class SHA512 {
- private static final Logger log = LoggerFactory.getLogger(SHA512.class);
+ private static final System.Logger LOG = System.getLogger(SHA512.class.getName());
/**
* Nothing up my sleeve number as private salt, not good for production.
*/
@@ -53,7 +51,7 @@ public static void main(String[] args) {
Hash hash = calculateHash(password);
boolean correct = verifyPassword(hash.getBytes(), hash.getSalt(), password);
- log.info("Entered password is correct: {}", correct);
+ LOG.log(System.Logger.Level.INFO, "Entered password is correct: {0}", correct);
}
private static Hash calculateHash(String password) {
@@ -68,7 +66,7 @@ private static Hash calculateHash(String password) {
Hash hash = hashService.computeHash(builder.build());
- log.info("Hash algorithm {}, iterations {}, public salt {}", hash.getAlgorithmName(), hash.getIterations(), hash.getSalt());
+ LOG.log(System.Logger.Level.INFO, "Hash algorithm {0}, iterations {1}, public salt {2}", hash.getAlgorithmName(), hash.getIterations(), hash.getSalt());
return hash;
}
@@ -85,9 +83,9 @@ private static boolean verifyPassword(byte[] originalHash, ByteSource publicSalt
Hash comparisonHash = hashService.computeHash(builder.build());
- log.info("password: {}", password);
- log.info("1 hash: {}", Hex.encodeToString(originalHash));
- log.info("2 hash: {}", comparisonHash.toHex());
+ LOG.log(System.Logger.Level.INFO, "password: {0}", password);
+ LOG.log(System.Logger.Level.INFO, "1 hash: {0}", Hex.encodeToString(originalHash));
+ LOG.log(System.Logger.Level.INFO, "2 hash: {0}", comparisonHash.toHex());
return Arrays.equals(originalHash, comparisonHash.getBytes());
}
diff --git a/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java b/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
index 65526ecf..6a03709c 100644
--- a/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
+++ b/crypto-shiro/src/main/java/de/dominikschadow/javasecurity/symmetric/AES.java
@@ -21,8 +21,6 @@
import org.apache.shiro.codec.Hex;
import org.apache.shiro.crypto.AesCipherService;
import org.apache.shiro.util.ByteSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.InputStream;
@@ -35,7 +33,7 @@
* @author Dominik Schadow
*/
public class AES {
- private static final Logger log = LoggerFactory.getLogger(AES.class);
+ private static final System.Logger LOG = System.getLogger(AES.class.getName());
private static final String KEYSTORE_PATH = "/samples.ks";
/**
@@ -58,7 +56,7 @@ public static void main(String[] args) {
printReadableMessages(initialText, ciphertext, plaintext);
} catch (NoSuchAlgorithmException | KeyStoreException | CertificateException | UnrecoverableKeyException | IOException ex) {
- log.error(ex.getMessage(), ex);
+ LOG.log(System.Logger.Level.ERROR, ex.getMessage(), ex);
}
}
@@ -101,8 +99,8 @@ private static byte[] decrypt(Key key, byte[] ciphertext) {
}
private static void printReadableMessages(String initialText, byte[] ciphertext, byte[] plaintext) {
- log.info("initialText: {}", initialText);
- log.info("cipherText as HEX: {}", Hex.encodeToString(ciphertext));
- log.info("plaintext: {}", CodecSupport.toString(plaintext));
+ LOG.log(System.Logger.Level.INFO, "initialText: {0}", initialText);
+ LOG.log(System.Logger.Level.INFO, "cipherText as HEX: {0}", Hex.encodeToString(ciphertext));
+ LOG.log(System.Logger.Level.INFO, "plaintext: {0}", CodecSupport.toString(plaintext));
}
}
From 1ea33cd90304bb273bc094e7bdeb417db4485789 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 18 Dec 2021 13:49:11 +0100
Subject: [PATCH 165/602] removed log4j as logger
---
crypto-tink/pom.xml | 12 ------------
.../tink/aead/AesEaxWithGeneratedKey.java | 6 ++----
.../tink/aead/AesGcmWithAwsKmsSavedKey.java | 6 ++----
.../javasecurity/tink/aead/AesGcmWithSavedKey.java | 6 ++----
.../tink/hybrid/EciesWithAwsKmsSavedKey.java | 6 ++----
.../tink/hybrid/EciesWithGeneratedKey.java | 6 ++----
.../hybrid/EciesWithGeneratedKeyAndKeyRotation.java | 6 ++----
.../javasecurity/tink/hybrid/EciesWithSavedKey.java | 6 ++----
.../tink/mac/HmacShaWithGeneratedKey.java | 8 +++-----
.../javasecurity/tink/mac/HmacShaWithSavedKey.java | 8 +++-----
.../tink/signature/EcdsaWithGeneratedKey.java | 8 +++-----
.../tink/signature/EcdsaWithSavedKey.java | 8 +++-----
12 files changed, 26 insertions(+), 60 deletions(-)
diff --git a/crypto-tink/pom.xml b/crypto-tink/pom.xml
index efbec91a..940d3c3d 100644
--- a/crypto-tink/pom.xml
+++ b/crypto-tink/pom.xml
@@ -29,18 +29,6 @@
org.apache.httpcomponents
httpclient
-
- org.apache.logging.log4j
- log4j-api
-
-
- org.apache.logging.log4j
- log4j-core
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
-
org.junit.jupiter
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
index 9751ce2c..7ae7c9ad 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesEaxWithGeneratedKey.java
@@ -21,8 +21,6 @@
import com.google.crypto.tink.KeyTemplates;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.aead.AeadConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.security.GeneralSecurityException;
@@ -33,7 +31,7 @@
* @author Dominik Schadow
*/
public class AesEaxWithGeneratedKey {
- private static final Logger log = LoggerFactory.getLogger(AesEaxWithGeneratedKey.class);
+ private static final System.Logger LOG = System.getLogger(AesEaxWithGeneratedKey.class.getName());
/**
* Init AeadConfig in the Tink library.
@@ -42,7 +40,7 @@ public AesEaxWithGeneratedKey() {
try {
AeadConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
index 06858e49..002211d9 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithAwsKmsSavedKey.java
@@ -20,8 +20,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.aead.AeadConfig;
import com.google.crypto.tink.integration.awskms.AwsKmsClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -46,7 +44,7 @@
* the Default Credential Provider Chain
*/
public class AesGcmWithAwsKmsSavedKey {
- private static final Logger log = LoggerFactory.getLogger(AesGcmWithAwsKmsSavedKey.class);
+ private static final System.Logger LOG = System.getLogger(AesGcmWithAwsKmsSavedKey.class.getName());
private static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/1cf7d7fe-6974-40e3-bb0d-22b8c75d4eb8";
/**
@@ -57,7 +55,7 @@ public AesGcmWithAwsKmsSavedKey() {
AeadConfig.register();
AwsKmsClient.register(Optional.of(AWS_MASTER_KEY_URI), Optional.empty());
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
index cc65b920..4de3e511 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/aead/AesGcmWithSavedKey.java
@@ -19,8 +19,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.aead.AeadConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -33,7 +31,7 @@
* @author Dominik Schadow
*/
public class AesGcmWithSavedKey {
- private static final Logger log = LoggerFactory.getLogger(AesGcmWithSavedKey.class);
+ private static final System.Logger LOG = System.getLogger(AesGcmWithSavedKey.class.getName());
/**
* Init AeadConfig in the Tink library.
@@ -42,7 +40,7 @@ public AesGcmWithSavedKey() {
try {
AeadConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
index a675d97c..931f9d91 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithAwsKmsSavedKey.java
@@ -20,8 +20,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.hybrid.HybridConfig;
import com.google.crypto.tink.integration.awskms.AwsKmsClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -46,7 +44,7 @@
* the Default Credential Provider Chain
*/
public class EciesWithAwsKmsSavedKey {
- private static final Logger log = LoggerFactory.getLogger(EciesWithAwsKmsSavedKey.class);
+ private static final System.Logger LOG = System.getLogger(EciesWithAwsKmsSavedKey.class.getName());
private static final String AWS_MASTER_KEY_URI = "aws-kms://arn:aws:kms:eu-central-1:776241929911:key/1cf7d7fe-6974-40e3-bb0d-22b8c75d4eb8";
/**
@@ -57,7 +55,7 @@ public EciesWithAwsKmsSavedKey() {
HybridConfig.register();
AwsKmsClient.register(Optional.of(AWS_MASTER_KEY_URI), Optional.empty());
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
index 54a6b829..aec8f517 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKey.java
@@ -22,8 +22,6 @@
import com.google.crypto.tink.KeyTemplates;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.hybrid.HybridConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.security.GeneralSecurityException;
@@ -34,7 +32,7 @@
* @author Dominik Schadow
*/
public class EciesWithGeneratedKey {
- private static final Logger log = LoggerFactory.getLogger(EciesWithGeneratedKey.class);
+ private static final System.Logger LOG = System.getLogger(EciesWithGeneratedKey.class.getName());
/**
* Init HybridConfig in the Tink library.
@@ -43,7 +41,7 @@ public EciesWithGeneratedKey() {
try {
HybridConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
index 9b987d76..2a1db35d 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithGeneratedKeyAndKeyRotation.java
@@ -19,8 +19,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.hybrid.HybridConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.security.GeneralSecurityException;
@@ -31,7 +29,7 @@
* @author Dominik Schadow
*/
public class EciesWithGeneratedKeyAndKeyRotation {
- private static final Logger log = LoggerFactory.getLogger(EciesWithGeneratedKeyAndKeyRotation.class);
+ private static final System.Logger LOG = System.getLogger(EciesWithGeneratedKeyAndKeyRotation.class.getName());
/**
* Init HybridConfig in the Tink library.
@@ -40,7 +38,7 @@ public EciesWithGeneratedKeyAndKeyRotation() {
try {
HybridConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
index 0ae83c12..7a5cc6cf 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/hybrid/EciesWithSavedKey.java
@@ -19,8 +19,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.hybrid.HybridConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -33,7 +31,7 @@
* @author Dominik Schadow
*/
public class EciesWithSavedKey {
- private static final Logger log = LoggerFactory.getLogger(EciesWithSavedKey.class);
+ private static final System.Logger LOG = System.getLogger(EciesWithSavedKey.class.getName());
/**
* Init HybridConfig in the Tink library.
@@ -42,7 +40,7 @@ public EciesWithSavedKey() {
try {
HybridConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
index c23df230..8b8aaebb 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithGeneratedKey.java
@@ -21,8 +21,6 @@
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.Mac;
import com.google.crypto.tink.mac.MacConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.security.GeneralSecurityException;
@@ -33,7 +31,7 @@
* @author Dominik Schadow
*/
public class HmacShaWithGeneratedKey {
- private static final Logger log = LoggerFactory.getLogger(HmacShaWithGeneratedKey.class);
+ private static final System.Logger LOG = System.getLogger(HmacShaWithGeneratedKey.class.getName());
/**
* Init MacConfig in the Tink library.
@@ -42,7 +40,7 @@ public HmacShaWithGeneratedKey() {
try {
MacConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
@@ -59,7 +57,7 @@ public boolean verifyMac(KeysetHandle keysetHandle, byte[] initialMac, byte[] in
return true;
} catch (GeneralSecurityException ex) {
- log.error("MAC is invalid", ex);
+ LOG.log(System.Logger.Level.ERROR, "MAC is invalid", ex);
}
return false;
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
index 5f112361..9794b652 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/mac/HmacShaWithSavedKey.java
@@ -19,8 +19,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.mac.MacConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -33,7 +31,7 @@
* @author Dominik Schadow
*/
public class HmacShaWithSavedKey {
- private static final Logger log = LoggerFactory.getLogger(HmacShaWithSavedKey.class);
+ private static final System.Logger LOG = System.getLogger(HmacShaWithSavedKey.class.getName());
/**
* Init MacConfig in the Tink library.
@@ -42,7 +40,7 @@ public HmacShaWithSavedKey() {
try {
MacConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
@@ -76,7 +74,7 @@ public boolean verifyMac(KeysetHandle keysetHandle, byte[] initialMac, byte[] in
return true;
} catch (GeneralSecurityException ex) {
- log.error("MAC is invalid", ex);
+ LOG.log(System.Logger.Level.ERROR, "MAC is invalid", ex);
}
return false;
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
index 92ca3a24..123b1f00 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithGeneratedKey.java
@@ -22,8 +22,6 @@
import com.google.crypto.tink.PublicKeySign;
import com.google.crypto.tink.PublicKeyVerify;
import com.google.crypto.tink.signature.SignatureConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.security.GeneralSecurityException;
@@ -34,7 +32,7 @@
* @author Dominik Schadow
*/
public class EcdsaWithGeneratedKey {
- private static final Logger log = LoggerFactory.getLogger(EcdsaWithGeneratedKey.class);
+ private static final System.Logger LOG = System.getLogger(EcdsaWithGeneratedKey.class.getName());
/**
* Init SignatureConfig in the Tink library.
@@ -43,7 +41,7 @@ public EcdsaWithGeneratedKey() {
try {
SignatureConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
@@ -67,7 +65,7 @@ public boolean verify(KeysetHandle publicKeysetHandle, byte[] signature, byte[]
verifier.verify(signature, initialText);
return true;
} catch (GeneralSecurityException ex) {
- log.error("Signature is invalid", ex);
+ LOG.log(System.Logger.Level.ERROR, "Signature is invalid", ex);
}
return false;
diff --git a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
index 755c1291..4f8dd235 100644
--- a/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
+++ b/crypto-tink/src/main/java/de/dominikschadow/javasecurity/tink/signature/EcdsaWithSavedKey.java
@@ -19,8 +19,6 @@
import com.google.crypto.tink.*;
import com.google.crypto.tink.signature.SignatureConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -33,7 +31,7 @@
* @author Dominik Schadow
*/
public class EcdsaWithSavedKey {
- private static final Logger log = LoggerFactory.getLogger(EcdsaWithSavedKey.class);
+ private static final System.Logger LOG = System.getLogger(EcdsaWithSavedKey.class.getName());
/**
* Init SignatureConfig in the Tink library.
@@ -42,7 +40,7 @@ public EcdsaWithSavedKey() {
try {
SignatureConfig.register();
} catch (GeneralSecurityException ex) {
- log.error("Failed to initialize Tink", ex);
+ LOG.log(System.Logger.Level.ERROR, "Failed to initialize Tink", ex);
}
}
@@ -92,7 +90,7 @@ public boolean verify(KeysetHandle publicKeysetHandle, byte[] signature, byte[]
verifier.verify(signature, initialText);
return true;
} catch (GeneralSecurityException ex) {
- log.error("Signature is invalid", ex);
+ LOG.log(System.Logger.Level.ERROR, "Signature is invalid", ex);
}
return false;
From e766601269ebc3055dd4985c98cab44e429992a3 Mon Sep 17 00:00:00 2001
From: Dominik Schadow
Date: Sat, 18 Dec 2021 13:53:09 +0100
Subject: [PATCH 166/602] removed log4j as logger
---
csrf/pom.xml | 12 ------------
.../javasecurity/csrf/OrderServlet.java | 17 +++++++----------
2 files changed, 7 insertions(+), 22 deletions(-)
diff --git a/csrf/pom.xml b/csrf/pom.xml
index 9574fc0d..47c9d082 100644
--- a/csrf/pom.xml
+++ b/csrf/pom.xml
@@ -21,18 +21,6 @@
javax.servlet
javax.servlet-api
-
- org.apache.logging.log4j
- log4j-api
-
-
- org.apache.logging.log4j
- log4j-core
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
-
com.google.guava
guava
diff --git a/csrf/src/main/java/de/dominikschadow/javasecurity/csrf/OrderServlet.java b/csrf/src/main/java/de/dominikschadow/javasecurity/csrf/OrderServlet.java
index e1cf2a71..02f0d687 100644
--- a/csrf/src/main/java/de/dominikschadow/javasecurity/csrf/OrderServlet.java
+++ b/csrf/src/main/java/de/dominikschadow/javasecurity/csrf/OrderServlet.java
@@ -17,9 +17,6 @@
*/
package de.dominikschadow.javasecurity.csrf;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
@@ -38,14 +35,14 @@
public class OrderServlet extends HttpServlet {
@Serial
private static final long serialVersionUID = 168055850789919449L;
- private static final Logger log = LoggerFactory.getLogger(OrderServlet.class);
+ private static final System.Logger LOG = System.getLogger(OrderServlet.class.getName());
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException {
- log.info("Processing order servlet...");
+ LOG.log(System.Logger.Level.INFO, "Processing order servlet...");
if (!CSRFTokenHandler.isValid(request)) {
- log.info("Order servlet: CSRF token is invalid");
+ LOG.log(System.Logger.Level.INFO, "Order servlet: CSRF token is invalid");
response.setStatus(401);
try (PrintWriter out = response.getWriter()) {
@@ -62,13 +59,13 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
out.println("