The other thread was getting a lot of responses so I start a new one..

Here is a script that works for me on redhat 6.9 (/centos6.9) that
converts a 4.0.3 -snapshot default install of openmeetings from http
to https

There are lots of opportunities for improvement to fully automate. I
guess this might help people as a starting point but maybe not as an
ending point.

Here I am using the password as 'changeit' which is obviously not a
real password..

-Dave

#!/bin/sh
RED5_HOME=/opt/red5
cd $RED5_HOME
mkdir certs
mkdir certs/private

#create CA cert
figlet create CA
mkdir certs/ca
mkdir certs/ca/private
cd certs/ca
#try to argment passphrase
openssl genrsa -aes256 -out private/ca.key.pem 4096
#check return code, exit on error
#exit on no file private ca.key.pem
chmod 400 private/ca.key.pem

#try to argment passphrase
openssl req -key private/ca.key.pem -new -x509 -days 7300 -sha256
-extensions v3_ca -out ca.cert.pem
#check return code, exit on error
#exit on no file  ca.cert.pem

#Create Selfsigned cert, maybe use what the russians have in threads instead.
figlet create red5 cert
cd $RED5_HOME
cd certs
#try to argment passphrase
openssl req -new > new.ssl.csr
#check return code, exit on error
#exit on no file  new.ssl.csr
#exit on no file  privkey
#( use actual hostname for CN)
#(leave challenge blank)

mv privkey.pem private

openssl rsa -in private/privkey.pem -out private/red5.cert.key
#check return code, exit on error
#exit on no file  new.cert.key
openssl x509 -in new.ssl.csr -out red5.crt -req -signkey
private/red5.cert.key -days 9999
#check return code, exit on error
#exit on no file  red5.crt


openssl pkcs12 -export -in red5.crt -inkey private/red5.cert.key -out
red5.p12 -name red5 -certfile ca/ca.cert.pem
#check return code, exit on error
#exit on no file  red5.crt

#Need permissive type?? Some avc on next line need permissive type for
secadm_java_t (it transistions)
keytool -importkeystore -srcstorepass changeit -srckeystore red5.p12
-srcstoretype PKCS12 -deststorepass changeit -destkeystore
keystore.jks -alias red5

keytool -import -alias root -keystore keystore.jks -trustcacerts -file
ca/ca.cert.pem
#^ keystorepass changeit no good, need expect script instead

cp keystore.jks ../conf
cp keystore.jks ../conf/truststore.jks
#Rename the existing keystore file red5/conf/keystore.jmx to
red5/conf/keystore.bak
#mv ${RED5_HOME}/conf/keystore.jmx ${RED5_HOME}/conf/keystore.bak
#Rename the existing truststore file red5/conf/truststore.jmx to
red5/conf/truststore.bak
#mv ${RED5_HOME}/conf/truststore.jmx ${RED5_HOME}/conf/truststore.bak

cd ${RED5_HOME}
#twizzle red5/conf/jee-container.xml line 33 SSL add <!--
sed -i '33s/^/\<\!--/' conf/jee-container.xml
#twizzle red5/conf/jee-container.xml line 71 SSL add -->
sed -i '71s/^/--\>/' conf/jee-container.xml
#twizzle red5/conf/jee-container.xml line 73 SSL remove <!--
sed -i '73s/.*//' conf/jee-container.xml
#twizzle red5/conf/jee-container.xml line 132 SSL remove -->
sed -i '132s/.*//' conf/jee-container.xml
#twizzle red5/conf/red5-core.xml line 198 add -->
sed -i '198s/^/--\>/' conf/red5-core.xml
#twizzle red5/conf/red5-core.xml line 234 remove -->
sed -i '234s/.*//' conf/red5-core.xml

sed -i 's/password/changeit/' conf/red5.properties
## trustAnchors parameter must be non empty

Reply via email to