Hi Dustin,

When you obtain a signed certificate, there is an associated CSR that is 
generated against which the authority provides the certificate.  These are tied 
to public/private keys, so the certificate needs to be imported back to where 
the keys are and where the CSR was generated from to complete the signing chain 
(using the same alias that you created the CSR against).

You then need to either convert use this keystore or convert to a Java based 
keystore.

Without the keys and full chain, Java (Jetty) will not present the certificate 
- so you need to export the full cert chain and keys or if you have these 
convert to a Java keystore.





----------------------------------------------



Kind Regards,



Carl Wilson





From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Fawver, Dustin
Sent: 21 August 2017 16:57
To: arslist@ARSLIST.ORG
Subject: Re: Jetty over HTTPS



**

Carl,



I still am not doing something correctly.  I deleted the keystore and used the 
import command to import each of the three .crt files into a new one.  After 
restarting the AR System service, I can see that it’s listening on the port.  I 
still get the message that the server unexpectedly closed the connection.  Do 
you have any idea what part I may have left out?

Thanks!

Dustin Fawver

Sr. Help Desk Technician

Information Technology Services



P: 423-439-4648

itsh...@etsu.edu

 <http://www.etsu.edu/helpdesk>



From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Carl Wilson
Sent: Monday, August 21, 2017 3:44 AM
To: arslist@ARSLIST.ORG
Subject: Re: Jetty over HTTPS



*** EXTERNAL EMAIL *** This email does NOT originate from an ETSU person or 
service. Please exercise caution when handling e-mails from external sources. 
If this e-mail is unsolicited and requires you to take immediate action, 
appears to be forged or is PHISHING for information, please contact the ITS 
Help Desk at, 423-439-4648. ETSU internal and official messages never include a 
disclaimer.

**

Hi Justin,

Jetty requires that you have the full cert chain installed in the keystore(s) 
that you are using, or it will not start correctly and present the certificate 
(as it uses Java which requires all elements for the certificates to be 
present).

So, you need to install the full certificate chain (root, intermediate, server) 
as a single chained file (p7b or similar), or convert the certificate chain and 
keys to a keystore file if say in a p12 format.

BMC instructions are not the best for actually stating this, and are geared 
more towards a single self signed certificate (not an authority chained cert).



Here is a section from a configuration document I wrote for Service Broker, but 
the concept is the same:


1.1       Configuring Jetty (Service Broker)


To implement SSL configuration on Service Broker, you need to update the 
“jetty-http.xml” file on the Remedy Service Broker system – located in 
…/jetty/etc/jetty-http.xml.

 
<https://docs.bmc.com/docs/display/myitsb33/Configuring+access+to+the+MyIT+Service+Broker+server+over+SSL>
 
https://docs.bmc.com/docs/display/myitsb33/Configuring+access+to+the+MyIT+Service+Broker+server+over+SSL

Point to the location of the keystore that contains the Signed Certificate and 
keys (public/private).  You can generate a new keystore / keys / certificate 
for a Self Signed Certificate, or convert and existing file to a Java “.jks” 
keystore.

You may receive a file in the “.pfx” format (Windows, containing certificate(s) 
and keys) which you can convert to a Java “.jks” keystore using keytool or 
another program.   You may also wish to change the alias and store passwords 
for use with your application to standardise.

You can also choose to update the port that Service Broker uses for SSL to a 
standard port e.g. 443 or 8443.

Note:  If Jetty cannot find all required parts associated with the certificate 
(keys, certificate – including all certificates in the chain), the application 
will not start.

Sample: jetty-http.xml

<New id="httpsConfig" class="org.eclipse.jetty.server.HttpConfiguration">

    <Call name="addCustomizer">

        <Arg>

            <New class="org.eclipse.jetty.server.SecureRequestCustomizer" />

        </Arg>

    </Call>

</New>



<New id="sslContextFactory" 
class="org.eclipse.jetty.util.ssl.SslContextFactory">

    <Set name="KeyStorePath">C:/keystore/keystore</Set>

    <Set name="KeyManagerPassword">OBF:1v2j1uum1xtv1zej1zer1xtn1uvk1v1v</Set>

    <Set name="KeyStorePassword">OBF:1v2j1uum1xtv1zej1zer1xtn1uvk1v1v</Set>

    <Set name="TrustStorePath">C:/truststore/cacerts</Set>

    <Set name="TrustStorePassword">OBF:1v2j1uum1xtv1zej1zer1xtn1uvk1v1v</Set>

    <Set name="IncludeCipherSuites">

        <Array type="String">

            <Item>TLS_DHE_RSA.*</Item>

            <Item>TLS_ECDHE.*</Item>

        </Array>

    </Set>

    <Set name="ExcludeCipherSuites">

        <Array type="String">

            <Item>SSL_RSA_WITH_DES_CBC_SHA</Item>

            <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item>

            <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item>

            <Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item>

            <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>

            <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>

            <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>

            <Item>.*NULL.*</Item>

            <Item>.*RC4.*</Item>

            <Item>.*MD5.*</Item>

            <Item>.*DES.*</Item>

            <Item>.*DSS.*</Item>

            <Item>.*_DHE_RSA_.*</Item>

        </Array>

    </Set>

    <Set name="ExcludeProtocols">

        <Array type="java.lang.String">

            <Item>SSL</Item>

            <Item>SSLv2</Item>

            <Item>SSLv2Hello</Item>

            <Item>SSLv3</Item>

        </Array>

    </Set>

</New>

<New id="sslConnectionFactory" 
class="org.eclipse.jetty.server.SslConnectionFactory">

    <Arg name="sslContextFactory">

        <Ref refid="sslContextFactory" />

    </Arg>

    <Arg name="next">http/1.1</Arg>

</New>

<New id="sslConnector" class="org.eclipse.jetty.server.ServerConnector">

    <Arg name="server"><Ref refid="Server" /></Arg>

    <Arg name="factories">

        <Array type="org.eclipse.jetty.server.ConnectionFactory">

            <Item><Ref refid="sslConnectionFactory" /></Item>

            <Item>

                <New class="org.eclipse.jetty.server.HttpConnectionFactory">

                    <Arg name="config"><Ref refid="httpsConfig" /></Arg>

                </New>

            </Item>

        </Array>

    </Arg>

    <Set name="port">8443</Set>

</New>

<Call name="setConnectors">

    <Arg>

        <Array type="org.eclipse.jetty.server.ServerConnector">

            <Item>

                <Ref refid="sslConnector" />

            </Item>

        </Array>

    </Arg>

</Call>





----------------------------------------------



Kind Regards,



Carl Wilson





From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Fawver, Dustin
Sent: 21 August 2017 03:54
To: arslist@ARSLIST.ORG <mailto:arslist@ARSLIST.ORG>
Subject: Jetty over HTTPS



**

Greetings, Listers!



I’ve been working on getting Jetty to run on my dev environment so that I can 
start working on REST calls.  I have ARS 9.1.02 installed.  In short, I can get 
it to run over HTTP if I make the proper mods in the jetty selector file.  When 
I configure it to run using HTTPS on port 9443 (or even the default 8443), I 
get a message that the server unexpectedly closed the connection.  Running 
“netstat –a” shows that the server is listening on the designated port.



I’ve been trying different things with the keytool program.  I have a GeoTrust 
signed cert available for me to use.  I used the following command as outlined 
at https://docs.bmc.com/docs/ars91/configuring-the-rest-api-609071434.html



C:\Program Files\BMC Software\ARSystem\jetty\etc>"\Program 
Files\Java\jre1.8.0_73\bin\keytool.exe" -import -trustcacerts -alias etsu.edu 
-file etsu.edu.crt -keystore keystore



All of the required services (ARS, email, flashboards, Mid-Tier, Tomcat, etc) 
run on the same box.  I hope this is not causing a conflict.  Any help would be 
much appreciated.

Thanks!

Dustin Fawver

Sr. Help Desk Technician

Information Technology Services



P: 423-439-4648

itsh...@etsu.edu <mailto:itsh...@etsu.edu>

 <http://www.etsu.edu/helpdesk>



_ARSlist: "Where the Answers Are" and have been for 20 years_




 
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>

Virus-free.  
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
 www.avast.com

_ARSlist: "Where the Answers Are" and have been for 20 years_

_ARSlist: "Where the Answers Are" and have been for 20 years_



---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
"Where the Answers Are, and have been for 20 years"

Reply via email to