diff --git a/pom.xml b/pom.xml index e82b964900..5a327770a4 100644 --- a/pom.xml +++ b/pom.xml @@ -98,6 +98,7 @@ spring-security-rest-custom spring-security-rest-digest-auth spring-security-rest-full + spring-security-x509 spring-thymeleaf spring-zuul jsf diff --git a/spring-security-x509/basic-secured-server/pom.xml b/spring-security-x509/basic-secured-server/pom.xml index ce35990b21..87fdd64727 100644 --- a/spring-security-x509/basic-secured-server/pom.xml +++ b/spring-security-x509/basic-secured-server/pom.xml @@ -3,7 +3,6 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung.spring.security basic-secured-server 0.0.1-SNAPSHOT jar @@ -12,39 +11,11 @@ Spring x.509 Authentication Demo - org.springframework.boot - spring-boot-starter-parent - 1.4.0.RELEASE - + com.baeldung + spring-security-x509 + 0.0.1-SNAPSHOT - - UTF-8 - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter-security - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - - org.springframework.boot - spring-boot-starter-test - test - - - diff --git a/spring-security-x509/basic-secured-server/src/main/resources/application.properties b/spring-security-x509/basic-secured-server/src/main/resources/application.properties index 1eed9cbbb0..439e2071b9 100644 --- a/spring-security-x509/basic-secured-server/src/main/resources/application.properties +++ b/spring-security-x509/basic-secured-server/src/main/resources/application.properties @@ -1,7 +1,7 @@ -server.ssl.key-store=../keystore/keystore.jks -server.ssl.key-store-password=${PASSWORD} -server.ssl.key-alias=${HOSTNAME} -server.ssl.key-password=${PASSWORD} +server.ssl.key-store=classpath:keystore.jks +server.ssl.key-store-password=changeit +server.ssl.key-alias=localhost +server.ssl.key-password=changeit server.ssl.enabled=true server.port=8443 security.user.name=Admin diff --git a/spring-security-x509/basic-secured-server/src/main/resources/keystore.jks b/spring-security-x509/basic-secured-server/src/main/resources/keystore.jks new file mode 100644 index 0000000000..044a820c39 Binary files /dev/null and b/spring-security-x509/basic-secured-server/src/main/resources/keystore.jks differ diff --git a/spring-security-x509/client-auth-server/pom.xml b/spring-security-x509/client-auth-server/pom.xml index 5cdf1f8859..56cef8ea07 100644 --- a/spring-security-x509/client-auth-server/pom.xml +++ b/spring-security-x509/client-auth-server/pom.xml @@ -1,9 +1,8 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung.spring.security client-auth-server 0.0.1-SNAPSHOT jar @@ -12,39 +11,11 @@ Spring x.509 Client Authentication Demo - org.springframework.boot - spring-boot-starter-parent - 1.4.0.RELEASE - + com.baeldung + spring-security-x509 + 0.0.1-SNAPSHOT - - UTF-8 - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter-security - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - - org.springframework.boot - spring-boot-starter-test - test - - - diff --git a/spring-security-x509/client-auth-server/src/main/resources/application.properties b/spring-security-x509/client-auth-server/src/main/resources/application.properties index 294c7d9c6b..174eba9f98 100644 --- a/spring-security-x509/client-auth-server/src/main/resources/application.properties +++ b/spring-security-x509/client-auth-server/src/main/resources/application.properties @@ -1,11 +1,11 @@ server.ssl.key-store=../keystore/keystore.jks -server.ssl.key-store-password=${PASSWORD} -server.ssl.key-alias=${HOSTNAME} -server.ssl.key-password=${PASSWORD} +server.ssl.key-store-password=changeit +server.ssl.key-alias=localhost +server.ssl.key-password=changeit server.ssl.enabled=true server.port=8443 security.user.name=Admin security.user.password=admin server.ssl.trust-store=../keystore/truststore.jks -server.ssl.trust-store-password=${PASSWORD} +server.ssl.trust-store-password=changeit server.ssl.client-auth=need \ No newline at end of file diff --git a/spring-security-x509/client-auth-server/src/main/resources/keystore.jks b/spring-security-x509/client-auth-server/src/main/resources/keystore.jks new file mode 100644 index 0000000000..044a820c39 Binary files /dev/null and b/spring-security-x509/client-auth-server/src/main/resources/keystore.jks differ diff --git a/spring-security-x509/keystore/ca.crt b/spring-security-x509/keystore/ca.crt new file mode 100644 index 0000000000..c700fee182 --- /dev/null +++ b/spring-security-x509/keystore/ca.crt @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIFlTCCA32gAwIBAgIEAMem9DANBgkqhkiG9w0BAQ0FADB0MQswCQYDVQQGEwJDQzESMBAGA1UE +CBMJU29tZVN0YXRlMREwDwYDVQQHEwhTb21lQ2l0eTERMA8GA1UEChMIQmFlbGR1bmcxFTATBgNV +BAsTDGJhZWxkdW5nLmNvbTEUMBIGA1UEAxMLQmFlbGR1bmcgQ0EwHhcNMTYwODExMDUwNzE1WhcN +MjYwODA5MDUwNzE1WjB0MQswCQYDVQQGEwJDQzESMBAGA1UECBMJU29tZVN0YXRlMREwDwYDVQQH +EwhTb21lQ2l0eTERMA8GA1UEChMIQmFlbGR1bmcxFTATBgNVBAsTDGJhZWxkdW5nLmNvbTEUMBIG +A1UEAxMLQmFlbGR1bmcgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAOKgJkTPS +5sk5dFMQmJZEipBwOD/+znOsEz8ZeieMCE8FkQWYJkYrvxl597arzJyLbvOmwVO4tkAluQuPclZz +c5lt/Ji1iiF2h+w6ncc+gsae4l7LOR2ssn+hAvdbpzMdGdaELImG1/9ib7vJQQ1eLRydiT3qQI1r +0n75WNGbm59QNixxq8TWp3iEPToj1dgwswuggxlDVY1hJvXytFG/DVTImlzhsfifu3C9t5C3xrXt +MczYfciUoNPsNEe3mXqoVeV5CxbyKk5JLQBWJ17E0V1+BgAip3dWvEKF+eo0DIS6mt3s9+mRANH1 +ifOiXEIbCs3DZDouIVxBpHJj+rFpMH7jEazF8SGJ49BS1ZJyjrIn5b2ZVsFIUb3BlrcLiJd1+1LO +yVa0nw4Fu3OugRT7m9tlWT4N3kmh93UuOkuL9pQSc8bMsSU5xiGfOy9Eav79JNHSaFHvDz4AACtP +cgPRKw/5qDCsapNOWygNkNGXzh8DjrxhpUfvDxvoKUEVuSpNrm6/Yg1qBtu9MAD1S1pWBPjzaeGj +f5PFZXdnbxso4pm1P21IiwZmQrOWcFnxJG35jafvTW4wTpRX28clwiJaPCxnB7j3Yz0EJTIgfcYl +TcwdGWJ6MIqgT4d4IV4QD/P80yVa/c7DuwAj+vPv/gB5N33KKzXPjzXTsWI2yzg7OQIDAQABoy8w +LTAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBQVrfyce3nN/IDaDIpeXBWJyY9nqzANBgkqhkiG9w0B +AQ0FAAOCAgEAByUvnZ/ouTgObjA9Pu29zSoeZ3eWg3ha0PPBWLSFgwlj7IihUWJlPlXyDtoKw5tq +Mcw8/bXyqhMCY8wpqXWmAsOkkZnrrLFo9K0rBRcAs17xnLtHvPW5AQ2RANf61u/19N4VK4pW1JZp +kdWri6siN3rM9NnvcXQY3qHTM7rr25aL+mymEl20H1KK/yhRJ0xliA+U3fRDS2ktJaBc65D3FCho +3lZa/VXs+l85bPk3eQdNh63tuLATMWOTMuhUPVZ5UARSPFA0er/mlGfyKx3OrQHciLW8sm4l9j+x +uUR6Yg4SwVX3d9+UEPAA6N0QxYlxuIlenvNWVNcFiJpc4N+zRqZjhcBRsZfRpK1goJzerHg9W9CC +REdQaoFX5XVDc8YoOBbNHEeAfzaBJpfHxzpWb1etIytWkFUAOXmVy0lVHdYYo42XSjkrQejF3qDM +2R0A5oX04hYlCTFdemSzdkf8ff14oF9ToVQ7tmxS4Lm8Tok9J0rjMZ9MKyEgl5G3wDH1470xREeb +L7mdUeGFsEzlA3kuVkZmXQ8SOL+SCv+Y+GDu0ZJ+/r5NTXgp54dVUYjLOZJisqVvfiDZHcQE+pGP +UIuF0MGx+3l/WI/vFNrGKmsT0vhwQhqzbBpV7vawZm0ViQp+4KpiEuHrSrJX/tj/XDgUvOfHmGmj +kj3QlKyWfEU= +-----END CERTIFICATE----- diff --git a/spring-security-x509/keystore/cid.crt b/spring-security-x509/keystore/cid.crt new file mode 100644 index 0000000000..df5dd2d5a0 --- /dev/null +++ b/spring-security-x509/keystore/cid.crt @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIFoDCCA4igAwIBAgIEGKkVGTANBgkqhkiG9w0BAQ0FADB0MQswCQYDVQQGEwJDQzESMBAGA1UE +CBMJU29tZVN0YXRlMREwDwYDVQQHEwhTb21lQ2l0eTERMA8GA1UEChMIQmFlbGR1bmcxFTATBgNV +BAsTDGJhZWxkdW5nLmNvbTEUMBIGA1UEAxMLQmFlbGR1bmcgQ0EwHhcNMTYwODExMDUwOTA3WhcN +MjYwODA5MDUwOTA3WjBsMQswCQYDVQQGEwJDQzESMBAGA1UECBMJU29tZVN0YXRlMREwDwYDVQQH +EwhTb21lQ2l0eTERMA8GA1UEChMIQmFlbGR1bmcxFTATBgNVBAsTDGJhZWxkdW5nLmNvbTEMMAoG +A1UEAxMDY2lkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjlSWBNnCdPjZAU15rIWi +rId/Oop9cizRSUKc9ZLe/dRhfBBRVVD0IGhBIV+9yIIrcXicU0Ighp7yJP3gvRHma2KxwyGWYRwm +uqLfBzrFj9HuBIXuozPIKjSDEPhWtm2DrE/WtPJ5/srZQ92BLgtHqIB75beE39ry9i9HpobL+eLm +6MR9tGyfYpKaPeS8IfDT+3VpdBpIu+IGptPpegjGTSsVkiCyHTTXQKTM+QxdhERewzBJM69W2t/3 +A/WhqEVPC9/GhKvnPXcCw3zvvTntkQFnB/ArsJ/um6PfOkeI1WCu5QVJerQWVJXKwtGduhlxTPQ0 +UofwaZMTtGMiTi3zCciyOF0KrbFklDp+2cYDPc/AhQGy1/h8PCheP6Rh/T3acd8DRl3zpjA4zzdz +BIwFLF2+T2NySFUBXJFOrj96wFLh3lLlp9T3oP1aiLzGUC71aZIntc9JTri3pCP35UXe0hzuy3m7 +nJw7yh59W2+6sQgy66mSeD+DjNdIFNxsmu9bQ5mH97tWU9pAb32zAfq3S2syC2FnFU9qLYj4bdTd +sT9cUfZ/V1AdsaHsfyKerpU51d17csggtCQo4PrH8gr99CSX1Iq4oKy5gnom5v0Tcwe1K1eJW2JN +WIYJM1wuibTELF9yPsuNydhuRZdgT+cYaGaYtY+BnqYWro9PcmR+HdMCAwEAAaNCMEAwHwYDVR0j +BBgwFoAUFa38nHt5zfyA2gyKXlwVicmPZ6swHQYDVR0OBBYEFNUmq/xlPIaDQ42tKfmnZejN1gA0 +MA0GCSqGSIb3DQEBDQUAA4ICAQB1aAOdLB3/fgYAQfke4SUsiVkU91JRL3ec/kb92y0JNULrgEBH +wBJ71vwmNn/bzIzk7Iwa3mcoRCXtziYA9vbfzFDoDSOUt1cPc8W8Kn0BzbeHPYNnqgyIsmilCnd4 +dvrP5QtuG/ajy03Rj57M4XL5+S4uKwqFO9B3cTE1VjNLKkDThKL4rKf3gvR7wtx24dvOrRuD1C/D +u6QN/SfnYKXSb8fTMGwGuZLn6IYtGzrgfhQiZDZd/g7rSzne6tMHF3oMXVmeAU+etviN9A5Untat +cs9snOT/Ju0AKnUaOKvesIjdXpeuLl21ucdlTfsKQ+TZGwAPrDzjT4RLPA7lUk2hZ66DWg6mFfTn +JMzFdz2A5ea3mmPCErDdoxAfA9tjdaZRgQR/RUfmhU1DL2r3RNgCjQ5I9Bw2WjVWS+TepMd+u/6Q +Dujpi+LGArABavWYluOvd7p961lLYDxSPRmI4FTBEd+T1Iqz+uOu62MWWWxPm7NbBwjW71BQehuQ +JiWCRMYM6CyPrb8tQDljYj18t2I8H74qXWwOtGQUfmv+kqtlvDY4NesoHtavacTaDWy5a2pKF3rb +nhKpU1BKjHyjxvVG3V/aT2qhx6iwNWbKQM9BJDYCNwubBh0ydEzlRkC82OWjavkLBYk/uLqFhQt1 +Kr0YIYpOQiIb0RGxipCUWUjYbg== +-----END CERTIFICATE----- diff --git a/spring-security-x509/keystore/cid.csr b/spring-security-x509/keystore/cid.csr new file mode 100644 index 0000000000..24231f03e3 --- /dev/null +++ b/spring-security-x509/keystore/cid.csr @@ -0,0 +1,25 @@ +-----BEGIN NEW CERTIFICATE REQUEST----- +MIIE7zCCAtcCAQAwbDELMAkGA1UEBhMCQ0MxEjAQBgNVBAgTCVNvbWVTdGF0ZTERMA8GA1UEBxMI +U29tZUNpdHkxETAPBgNVBAoTCEJhZWxkdW5nMRUwEwYDVQQLEwxiYWVsZHVuZy5jb20xDDAKBgNV +BAMTA2NpZDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAI5UlgTZwnT42QFNeayFoqyH +fzqKfXIs0UlCnPWS3v3UYXwQUVVQ9CBoQSFfvciCK3F4nFNCIIae8iT94L0R5mtiscMhlmEcJrqi +3wc6xY/R7gSF7qMzyCo0gxD4VrZtg6xP1rTyef7K2UPdgS4LR6iAe+W3hN/a8vYvR6aGy/ni5ujE +fbRsn2KSmj3kvCHw0/t1aXQaSLviBqbT6XoIxk0rFZIgsh0010CkzPkMXYREXsMwSTOvVtrf9wP1 +oahFTwvfxoSr5z13AsN877057ZEBZwfwK7Cf7puj3zpHiNVgruUFSXq0FlSVysLRnboZcUz0NFKH +8GmTE7RjIk4t8wnIsjhdCq2xZJQ6ftnGAz3PwIUBstf4fDwoXj+kYf092nHfA0Zd86YwOM83cwSM +BSxdvk9jckhVAVyRTq4/esBS4d5S5afU96D9Woi8xlAu9WmSJ7XPSU64t6Qj9+VF3tIc7st5u5yc +O8oefVtvurEIMuupkng/g4zXSBTcbJrvW0OZh/e7VlPaQG99swH6t0trMgthZxVPai2I+G3U3bE/ +XFH2f1dQHbGh7H8inq6VOdXde3LIILQkKOD6x/IK/fQkl9SKuKCsuYJ6Jub9E3MHtStXiVtiTViG +CTNcLom0xCxfcj7LjcnYbkWXYE/nGGhmmLWPgZ6mFq6PT3Jkfh3TAgMBAAGgPjA8BgkqhkiG9w0B +CQ4xLzAtMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFNUmq/xlPIaDQ42tKfmnZejN1gA0MA0GCSqG +SIb3DQEBDQUAA4ICAQBRXQEVq/29w0iyGCmxqeGzxoBx3nprZJhgfGk1zFx8G4aEoDw6P/1Xs8fS +6ceIPIakUHOVuS2OQqLQ6Un9UNaOoE8vAk0T19Rfkb5cQSRb2GHnnxOefETCF9oaAN8mHO1Tt3wq +9+lzU0y428hI6APWYf2x/xJL3fo3YOFcHVD2AfY8os2kHDnyq4Aj0Rp0eHYR4OdYzPVGl6UEV0a3 +f24ypH9t2pXM/mLcaDBNeGTi5peFUGZYceGPOe6dGqWPJ4gpyRXMOWWNk6bSZgRfJzzk3IBnb53v +2B/AFR2OhYDVzy0xG4gwzap+v/RzeKofDr4pAnGgaB3h+oGfcIwvU6Wag66qEhIzsbpCK8ZPKqDq +G+4+JeWp8KKBgkecO5NgjZOn2Up9dAvKukBRWWIUA6nCsKN5wrTbzjeYCmE6oG19BHo9+fkskPMg +25X7vRu+xG0MNf0kkZGR1/boY6hX4l7EVpB/LYwDulhhAF/Ar48/HH/muGRJixOjhey7/yWaGQlv +T3XqOb06mJTMmmyKttjtBvnSY81gGhuwk76F07ihtF2VdXFUGMS5qurid16KiirhVtnDMyD1LxBc +R4miwwXxLyDfthKUk8y0I0BYr52ciqhfkNUPLKogD9TT1Jc1DgySHmYEAwhRqCEvl4o6HX9/KNdU +AU/i7WkKbXr4g4s8Dg== +-----END NEW CERTIFICATE REQUEST----- diff --git a/spring-security-x509/keystore/cid.p12 b/spring-security-x509/keystore/cid.p12 new file mode 100644 index 0000000000..1fde57bc6a Binary files /dev/null and b/spring-security-x509/keystore/cid.p12 differ diff --git a/spring-security-x509/keystore/create-keystore.bat b/spring-security-x509/keystore/create-keystore.bat new file mode 100644 index 0000000000..3c0293c04c --- /dev/null +++ b/spring-security-x509/keystore/create-keystore.bat @@ -0,0 +1,24 @@ +PASSWORD=changeit +KEYSTORE=keystore.jks +HOSTNAME=localhost +CLIENTNAME=cid + +# CN = Common Name +# OU = Organization Unit +# O = Organization Name +# L = Locality Name +# ST = State Name +# C = Country (2-letter Country Code) +# E = Email +DNAME_CA='CN=Baeldung CA,OU=baeldung.com,O=Baeldung,L=SomeCity,ST=SomeState,C=CC' +# For server certificates, the Common Name (CN) must be the hostname +DNAME_HOST='CN=$(HOSTNAME),OU=baeldung.com,O=Baeldung,L=SomeCity,ST=SomeState,C=CC' +DNAME_CLIENT='CN=$(CLIENTNAME),OU=baeldung.com,O=Baeldung,L=SomeCity,ST=SomeState,C=CC' +TRUSTSTORE=truststore.jks + + # Generate a certificate authority (CA) + keytool -genkey -alias ca -ext BC=ca:true \ + -keyalg RSA -keysize 4096 -sigalg SHA512withRSA -keypass $(PASSWORD) \ + -validity 3650 -dname $(DNAME_CA) \ + -keystore $(KEYSTORE) -storepass $(PASSWORD) + diff --git a/spring-security-x509/keystore/keystore.jks b/spring-security-x509/keystore/keystore.jks new file mode 100644 index 0000000000..044a820c39 Binary files /dev/null and b/spring-security-x509/keystore/keystore.jks differ diff --git a/spring-security-x509/keystore/localhost.crt b/spring-security-x509/keystore/localhost.crt new file mode 100644 index 0000000000..318deff26d --- /dev/null +++ b/spring-security-x509/keystore/localhost.crt @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIFpjCCA46gAwIBAgIEODZ8OjANBgkqhkiG9w0BAQ0FADB0MQswCQYDVQQGEwJDQzESMBAGA1UE +CBMJU29tZVN0YXRlMREwDwYDVQQHEwhTb21lQ2l0eTERMA8GA1UEChMIQmFlbGR1bmcxFTATBgNV +BAsTDGJhZWxkdW5nLmNvbTEUMBIGA1UEAxMLQmFlbGR1bmcgQ0EwHhcNMTYwODExMDUwODEyWhcN +MjYwODA5MDUwODEyWjByMQswCQYDVQQGEwJDQzESMBAGA1UECBMJU29tZVN0YXRlMREwDwYDVQQH +EwhTb21lQ2l0eTERMA8GA1UEChMIQmFlbGR1bmcxFTATBgNVBAsTDGJhZWxkdW5nLmNvbTESMBAG +A1UEAxMJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAhDGBomd3CmNf +ahbnsaYaA1IQbXsGd+heb1e8c+diWggSg7r6xH90o43or+nQPk1g9VB8C/o79Ldhe+RI68aACWqC +iWTM72Z3mR9Cunyku8Xz9w1TUrLr394rWTXMglddBt1H9jzz5t0mXS/xv49aUhp7d/XGYEidK5Sd +YXWylMjv3K7a9KQVgcy3WH7mWiIJoytkMVRlSy/1Y43CVrgMiBSm2Vkp5CQBOWEsh9wEPl9yiu8N +SkqaW0cnfZFxwx6Wk+d07+Fu2dD2hpiFX0abyJj+1m1SE50ihHzvdV8jOAjrQwFsOOJOtGWZ3dZo +YGRQqStu06ytCUjikR1xyHyBBl3lcPqd1NBABYQ8ErL5EnqmN64hw75flKPGvnRIAqtSNeqVdJxO +yT3dZEVA2iHQq9rgPj6AnRmV+978OppVP4HAjJr/a3WqjpydpB0ztRhqf0Sv5aEkym36DKcp75Fd +01XT3Owo6AvAlrTeuT/lj6hqDo1VkWB7Gsh1vdHtEvApXE/cKtDPbC6tPFwBLQCdP7AUZoI56+mO +N7aHgmcWH8NZSl+PAvVMBeyn4lrNwDAH/ji/YVQCpShbiqSMa5pZbp+xlsmmZHgF6OCLSNO8Iw+d +mMvy7Il2PEsIHwNe5jbtMc2qrM9NaPch6iMbqlz6hr1lruWCVx+ay3cuR8v4IRUCAwEAAaNCMEAw +HwYDVR0jBBgwFoAUFa38nHt5zfyA2gyKXlwVicmPZ6swHQYDVR0OBBYEFNO0BwOkFM8qxa5sTugu +ciCr7O58MA0GCSqGSIb3DQEBDQUAA4ICAQAjRfbR75Trkvvr9JX7KZbauNji6CkVb7H7WQAwrulG +fMqyn5xhugq/QhAX6hN1hD1v+FM2hIX5aqI9Ic6ZUl+YyjzL4QnDXD8PZjH4z/wTZxWrnR7Z8nVJ +yw1rDB6CSyT8Fok944UXCIDDVk7xeHbXvW2jyURZFqLI34V6jGwN2tH9hJ9CycpBaRD1JkmvWPDm +atP9Br+GwStHpV2D7gchuzvwujwfil9ORte/+I8E6NyDteFdxbayid3IDOMbzvEw9NCqPbpOmga5 +8i2s6SYpIFYro4kWys3U900d8w6UwmZRA5cnWZR3h+BCu2lpUNPcVzYqRNrqKVd0Y9bvDTNx41SY +cOE57g2lMGNnHEvyW3Kzt+MXfcuyzcfoIb+kLHvOp+Q39GyE2oaHIWlcwmWDsn3o4Kod9iEoC931 +QQdsCi68CEfR2HzX7hzVFTUzJqfIjLNewjlMOXaInxVTuWLe5zE+1p/6AU7Iq2lhI+bgDFymGYyb +gtIgn+5X3djLZYyQG7M6HLMSx2ppB4i1kViQVq05+7mCBPcfHNLVafMJiMZR8L6xic77ZsAACHmQ +zITP1VkXnD+Zd3Mb5Vw+i90ZvC0RUiUz3wWbqfb6gke1TltEq4D25ptRtyoftgghYTgdCM9cBiNQ +4oYCEJdNyJjWiVWN92mnIXoACw3vMPPLtQ== +-----END CERTIFICATE----- diff --git a/spring-security-x509/keystore/localhost.csr b/spring-security-x509/keystore/localhost.csr new file mode 100644 index 0000000000..f267e931d1 --- /dev/null +++ b/spring-security-x509/keystore/localhost.csr @@ -0,0 +1,25 @@ +-----BEGIN NEW CERTIFICATE REQUEST----- +MIIE9TCCAt0CAQAwcjELMAkGA1UEBhMCQ0MxEjAQBgNVBAgTCVNvbWVTdGF0ZTERMA8GA1UEBxMI +U29tZUNpdHkxETAPBgNVBAoTCEJhZWxkdW5nMRUwEwYDVQQLEwxiYWVsZHVuZy5jb20xEjAQBgNV +BAMTCWxvY2FsaG9zdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIQxgaJndwpjX2oW +57GmGgNSEG17BnfoXm9XvHPnYloIEoO6+sR/dKON6K/p0D5NYPVQfAv6O/S3YXvkSOvGgAlqgolk +zO9md5kfQrp8pLvF8/cNU1Ky69/eK1k1zIJXXQbdR/Y88+bdJl0v8b+PWlIae3f1xmBInSuUnWF1 +spTI79yu2vSkFYHMt1h+5loiCaMrZDFUZUsv9WONwla4DIgUptlZKeQkATlhLIfcBD5fcorvDUpK +mltHJ32RccMelpPndO/hbtnQ9oaYhV9Gm8iY/tZtUhOdIoR873VfIzgI60MBbDjiTrRlmd3WaGBk +UKkrbtOsrQlI4pEdcch8gQZd5XD6ndTQQAWEPBKy+RJ6pjeuIcO+X5Sjxr50SAKrUjXqlXScTsk9 +3WRFQNoh0Kva4D4+gJ0Zlfve/DqaVT+BwIya/2t1qo6cnaQdM7UYan9Er+WhJMpt+gynKe+RXdNV +09zsKOgLwJa03rk/5Y+oag6NVZFgexrIdb3R7RLwKVxP3CrQz2wurTxcAS0AnT+wFGaCOevpjje2 +h4JnFh/DWUpfjwL1TAXsp+JazcAwB/44v2FUAqUoW4qkjGuaWW6fsZbJpmR4Bejgi0jTvCMPnZjL +8uyJdjxLCB8DXuY27THNqqzPTWj3IeojG6pc+oa9Za7lglcfmst3LkfL+CEVAgMBAAGgPjA8Bgkq +hkiG9w0BCQ4xLzAtMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFNO0BwOkFM8qxa5sTuguciCr7O58 +MA0GCSqGSIb3DQEBDQUAA4ICAQAWlQsaz2lN5uUU26QrlSWc9J1MjqRL4/XCT0lVkDFua7JOmTCJ +wowwLNFng2IKrrMmigEn/W2XnOMZBtBsKFp6WB8f9irCLrqfVRELKuHV7udNi1YlfCeQns0FgjI8 +Y/6uB43+rsqbpUkO86romTZSivc9szi8TDsJ84xutNNn8rS77Fzid4NQ4pZ/G5swn+PFVKBNWANL +J9rWkv8ld4hviRH0VS3ZuTOTL/8zfQlWFUGC7/FEH+1P1qWhHrFfj72E839226hIE/T96qnhbvBi +5W1dIjwux4JEpKN45+97boyPZitS/0T0URuKcJp+SILZjmOOrZfSnCWC5FkZmYjKIPUFg81lzWD7 +AxFRbjFF0XI6frbXLNVDAbpnhtCi88zT9rFWKKCwRnbZ4GfjmEWW2ITa+1Og9owY4iwW27zkhpTF +l/o5K7H4JrXCpoZcGVCu6MJFsQmSmsoTclgSljbQMVmJ53Bqq9pCtx18S8XvB+OXJpeDWlj9zvzv +WmuqCf9JNQb1UUOxpYfuyTRFCUODUV7kVWn3NLaAlJGtLJEUvw0H16JB6/u6JpXRPas/aOZXFRr7 +pW+PausdfGcniHKC//JvV/en/1OMHtrKZl1P8Ow2Uz4vy7H/Z1qIhXqm/qg1EkEUkEKmMG44fSne +LTyjagA8pzozPCfEg2v3w8vlAQ== +-----END NEW CERTIFICATE REQUEST----- diff --git a/spring-security-x509/keystore/truststore.jks b/spring-security-x509/keystore/truststore.jks new file mode 100644 index 0000000000..aaae3a6a20 Binary files /dev/null and b/spring-security-x509/keystore/truststore.jks differ diff --git a/spring-security-x509/pom.xml b/spring-security-x509/pom.xml new file mode 100644 index 0000000000..8a9fd200a8 --- /dev/null +++ b/spring-security-x509/pom.xml @@ -0,0 +1,49 @@ + + + 4.0.0 + + com.baeldung + spring-security-x509 + 0.0.1-SNAPSHOT + pom + + + basic-secured-server + client-auth-server + + + + org.springframework.boot + spring-boot-starter-parent + 1.4.0.RELEASE + + + + + UTF-8 + UTF-8 + 1.8 + + + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + org.springframework.boot + spring-boot-starter-test + test + + +