2014-04-02 23 views
7

Ubuntu ve Tomcat 7.0.52 ile AWS EC2 örneğinde çalışan bir CA cert/SSL almaya çalışıyorum. Tarayıcının bağlantısı başarısız. İşte aracılığıyla gitti adımlar şunlardır:EC2 Tomcat sunucusunda SSL yükleme

keytool -genkey -alias mydomain -keyalg RSA -keystore mydomain.keystore -keysize 2048 
<fill out information> 

keytool -certreq -keyalg RSA -alias mydomain -file certreq.csr -keystore ../mydomain.keystore 

ssls.com/Geotrust CSR gönderin ve geri alırsınız: keystore içine

www.mydomain.net.crt bundle.crt ithalat certs:

Bir sonraki
keytool -import -trustcacerts -alias root -keystore ../mydomain.keystore -file bundle.crt 
keytool -import -alias mydomain -keystore ../mydomain.keystore -file www.mydomain.net.crt 

, güncelleme $ TOMCAT_HOME/config/server.xml:

<Connector port="8080" protocol="HTTP/1.1" 
     connectionTimeout="20000" 
     redirectPort="443" /> 
<Connector port="8443" SSLEnabled="true" 
     maxThreads="150" scheme="https" secure="true" 
     keystoreFile="/home/ubuntu/mydomain.keystore" 
     keystorePass="xxxxxxx" 
     clientAuth="false" sslProtocol="TLS" /> 

ve tomcat'ı yeniden başlat.

güvenlik gruplarıyla

EC2 örneği izin verecek şekilde ayarlanmıştır noktası 80 ve 443.

> 8080 80- ve 443-> 8443 yönlendirmek için yapılan

ipables değişiklikler: www.mydomain için

sudo iptables -t nat -n -L PREROUTING --line-numbers 
Chain PREROUTING (policy ACCEPT) 
num target  prot opt source    destination   
1 REDIRECT tcp -- 0.0.0.0/0   0.0.0.0/0   tcp dpt:443 redir ports 8443 
2 REDIRECT tcp -- 0.0.0.0/0   0.0.0.0/0   tcp dpt:80 redir ports 8080 

DNS .net yerinde henüz, bu yüzden şu anda değiştirilmiş/etc/hosts ile test ediyorum:

54.200.126.130 www.mydomain.net 
54.200.126.130 mydomain.net 

sslscan geçerli herhangi şifrelere döndürmez. Hepsi "Reddedildi" olarak listeleniyor.

Openssl testi:

openssl s_client -connect www.mydomain.net:443 
CONNECTED(00000003) 
64007:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:602: 

(zorunlu tarayıcı uyarı hariç) çalışıyor keytool ile oluşturulan kendinden imzalı sertifika geçiş. Öyle görünüyor ki, konu mürettebat ve/veya anahtar deposuyla olmalı, ancak sorunun ne olduğundan emin değilim. Eğer sadece birlikte "tomcat" için takma keyAlias=mydomain ekleyebilir veya yeniden adlandırmak Connector. üzerinde keyAlias niteliğini belirtmek sürece

+0

Teşekkürler! Bu gönderideki her şeyden çok daha fazla fayda sağlayan şey, 80 & 443 numaralı bağlantı noktalarında (EC2 güvenlik grupları) trafiği açmam ve iptables'i değiştirmem gerektiğini fark etmekti. KeyAlias'taki tomcat dokümanlarından – brhlavinka

cevap

3

Tomat "tomcat" bir anahtar deposu takma varsayar keytool.

+1

: "Belirtilmemişse, anahtar deposunda okunan ilk tuş kullanılacaktır." – ax123man

+0

neyse, bana ilk engelin aşağısına geldiğinizde, size kredi verdi. Keşke bu daha iyi halledebilir. – ax123man

+0

Belgeler, şunu söyleyebilir, ancak bu şekilde çalıştığı benim deneyimim değil. – EJP

1

Tomcat dokümanlar keyAlias ​​şöyle düşünecek: "Değilse anahtar deposunda okunan ilk anahtar kullanılacak. ", ama iyi bir yakalama. Ancak, tüm sorunlarımı çözmedi. GeoTrust ile iletişime geçtim ve işe yarayan bir PKCS # 7 cert indirilmesini tavsiye ettiler. Garip, tomcat doktorlarının "Tomcat'in şu anda sadece JKS, PKCS11 veya PKCS12 formatı keytor'larında çalıştığı" söylendiğinde. Sonunda, CA'yla iki destek sohbeti, ödülle birlikte yığın taşma noktası, openssl saatleri ve keytool testleri yapıldı. Alınan ders: Destek çağrılarını aldıklarında, bunun için en iyi belgelere sahip olduklarından (tomcat değil) CA'lar ortaya çıkıyor.

https://knowledge.geotrust.com/support/knowledge-base/index?page=content&id=SO15323