changeset 202:c0140877e78b

[TLS] Add self-signed certificate. Reviewed-by: jkang, stooke Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-July/024125.html
author Severin Gehwolf <sgehwolf@redhat.com>
date Mon, 17 Jul 2017 11:37:33 +0200
parents f65dffb9f0f0
children de32338d6dcd
files buildfiles/certs/generate_in.txt buildfiles/certs/generate_self_signed_cert.sh distribution/pom.xml distribution/src/cert/thermostat.jks
diffstat 4 files changed, 79 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildfiles/certs/generate_in.txt	Mon Jul 17 11:37:33 2017 +0200
@@ -0,0 +1,10 @@
+changeme
+changeme
+Thermostat Developer
+Red Hat
+Red Hat
+Raleigh
+North Carolina
+US
+yes
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildfiles/certs/generate_self_signed_cert.sh	Mon Jul 17 11:37:33 2017 +0200
@@ -0,0 +1,52 @@
+#!/bin/bash
+#
+# Copyright 2012-2017 Red Hat, Inc.
+#
+# This file is part of Thermostat.
+#
+# Thermostat is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published
+# by the Free Software Foundation; either version 2, or (at your
+# option) any later version.
+#
+# Thermostat is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Thermostat; see the file COPYING.  If not see
+# <http://www.gnu.org/licenses/>.
+#
+# Linking this code with other modules is making a combined work
+# based on this code.  Thus, the terms and conditions of the GNU
+# General Public License cover the whole combination.
+#
+# As a special exception, the copyright holders of this code give
+# you permission to link this code with independent modules to
+# produce an executable, regardless of the license terms of these
+# independent modules, and to copy and distribute the resulting
+# executable under terms of your choice, provided that you also
+# meet, for each linked independent module, the terms and conditions
+# of the license of that module.  An independent module is a module
+# which is not derived from or based on this code.  If you modify
+# this code, you may extend this exception to your version of the
+# library, but you are not obligated to do so.  If you do not wish
+# to do so, delete this exception statement from your version.
+#
+
+ALIAS="thermostat"
+VALIDITY_DAYS="365"
+KEYSTORE_FILE=$(echo "$(pwd)/../../distribution/src/cert/thermostat.jks")
+
+if [ -e ${KEYSTORE_FILE} ]; then
+  rm ${KEYSTORE_FILE}
+fi
+echo "Generating self signed cert with alias ${ALIAS} in ${KEYSTORE_FILE} ..."
+keytool -genkey -keyalg RSA -alias ${ALIAS} -keystore ${KEYSTORE_FILE} -validity ${VALIDITY_DAYS} -keysize 4096 < generate_in.txt > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+  echo "Completed successfully."
+else
+  echo "Failed."
+  exit 1
+fi
--- a/distribution/pom.xml	Tue Jul 18 10:36:46 2017 -0400
+++ b/distribution/pom.xml	Mon Jul 17 11:37:33 2017 +0200
@@ -144,6 +144,23 @@
                         </configuration>
                     </execution>
                     <execution>
+                        <!-- Certificate is generated with buildfiles/certs/generate_self_signed_cert.sh -->
+                        <id>copy-cert</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/image</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/cert</directory>
+                                    <filtering>false</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                    <execution>
                         <id>copy-etc</id>
                         <phase>prepare-package</phase>
                         <goals>
Binary file distribution/src/cert/thermostat.jks has changed