Hello Greivin,
I don't know martini source, but you need to find the ssl/tls framework
within that api. The api key you referred to has nothing to do with
ssl/tls.
Please read about keytool, openssl and ExportPriv.java.
https://github.com/omac777/t1/blob/master/README
-change the line to use your with your public cert and private key.
http.ListenAndServeTLS(":5555",
"/home/youruser/yourpubliccert.crt===golangCertFile",
"/home/youruser/yourprivatekey.key"
Whatever web server you use needs to make use of .key, .crt, .jks files.
cd comodoSigned/
mv ../adequatech_ca.zip .
unzip adequatech_ca.zip
cd ..
cd comodoSigned/
cp adequatech_ca.crt adequatech.ca.comodoinstantssl.crt
mv adequatech.ca.comodoinstantssl.crt ..
cd ..
keytool -import -alias
adequatech.ca -file
adequatech.ca.comodoinstantssl.crt -keystore
adequatech_ca_comodoinstantssl_keystore.jks
keytool -export -alias
adequatech.ca -keystore
adequatech_ca_comodoinstantssl_keystore.jks -file
adequatech.ca-comodoinstantssl-exported-publickey-der.crt
openssl x509 -noout -text -in
adequatech.ca-comodoinstantssl-exported-publickey-der.crt -inform der
openssl x509 -out
adequatech.ca-comodoinstantssl-exported-publickey-pem.crt -outform pem
-in adequatech.ca-comodoinstantssl-exported-publickey-der.crt -inform der
java ExportPriv adequatech_ca_comodoinstantssl_keystore.jks
http://adequatech.ca PASSWORDPASSWORDPASSWORD >
adequatech.ca-comodoinstantssl-exported-privatekey-pkcs8.key
openssl pkcs8 -inform PEM -nocrypt -in
adequatech.ca-comodoinstantssl-exported-privatekey-pkcs8.key -out
adequatech.ca-comodoinstantssl-exported-privatekey-rsa-ForApache.key
openssl pkcs12 -export -out adequatech.ca-exported-client.p12 -inkey
adequatech.ca-comodoinstantssl-exported-privatekey-rsa-ForApache.key -in
adequatech.ca-comodoinstantssl-exported-publickey-pem.crt
keytool -list -keystore adequatech_ca_comodoinstantssl_keystore.jks
keytool -delete -alias
adequatech.ca -keystore
adequatech_ca_comodoinstantssl_keystore.jks
keytool -list -keystore adequatech_ca_comodoinstantssl_keystore.jks
#follow this recipe to install the comodo certs in the right order.
# 1. Import Root Certificate
keytool -import -trustcacerts -alias AddTrustExternalCARoot -file
comodoSigned/AddTrustExternalCARoot.crt -keystore
adequatech_ca_comodoinstantssl_keystore.jks
# 2. Import Intermediate(s)
keytool -import -trustcacerts -alias COMODOHigh-AssuranceSecureServerCA
-file comodoSigned/COMODOHigh-AssuranceSecureServerCA.crt -keystore
adequatech_ca_comodoinstantssl_keystore.jks
# 3. Import Entity/Domain certificate
keytool -import -trustcacerts -alias
adequatech.ca -file
comodoSigned/adequatech_ca.crt -keystore
adequatech_ca_comodoinstantssl_keystore.jks
# order might need to be switched
#cat comodoSigned/COMODOHigh-AssuranceSecureServerCA.crt
comodoSigned/AddTrustExternalCARoot.crt > adequatech.ca-certbundle
cat comodoSigned/adequatech_ca.crt
comodoSigned/COMODOHigh-AssuranceSecureServerCA.crt
comodoSigned/AddTrustExternalCARoot.crt > golangCertFile
I wish you well.
Cheers,
David Marceau
http://adequatech.ca
On 12/14/2013 10:31 PM, Greivin López wrote:
> Hi David,
>
> Thank you for your quick response.
>
> Actually I already bought my certificate from SSL.com. The sent these
> files to me:
>
> * AddTrustExternalCARoot.crt - Root CA Certificate
> * SSLcomAddTrustSSLCA.crt - Intermediate CA Certificate
> * Your Certificate (X.509) - mydomain_com
>
> Those are three .crt files but I don't know how to make then work with
> the *ListenAndServeTLS
> *function*.*
>
> I use martini <
http://martini.codegangsta.io/> as my web framework. So my
> code goes something like:
>
>
> m := martini.Classic()
>
> // Validate an API key: Authorization
> m.Use(func(res http.ResponseWriter, req *http.Request) {
> if req.Header.Get("X-API-KEY") != API_KEY {
> serviceResponse(res, http.StatusUnauthorized, "You are not authorized to
> access this resource.")
> }
> })
>
> // Owners
> m.Post("/owners", createOwner)
> m.Any("/owners", NotAllowed)
>
>
>
>
>
> On Sat, Dec 14, 2013 at 9:16 PM, David Marceau
> <
uticdmar...@gmail.com>wrote: