Aha... This from http://ietf.org/rfc/rfc3546.txt
"3.1. Server Name Indication [TLS] does not provide a mechanism for a client to tell a server the name of the server it is contacting. It may be desirable for clients to provide this information to facilitate secure connections to servers that host multiple 'virtual' servers at a single underlying network address. In order to provide the server name, clients MAY include an extension of type "server_name" in the (extended) client hello. ... " This rfc is dated June 2003, so I wonder when it will become mainstream?? Martin -----Original Message----- From: Martin Alley [mailto:[EMAIL PROTECTED] Sent: 31 March 2004 15:25 To: 'Tomcat Users List' Subject: RE: Multiple certificates for multiple virtual hosts (1:1) Hi Doug, I guess my point is that given there may be multiple certificates installed on a web server, and given that certificates authenticate Distinguished Name there should be an effective way to make sure the correct certificate is sent to the user. The certificate isn't just for viewing on the client when there is a name mismatch, or out of date of whatever - it can be used by SSL 3 supported RSA key exchange. Why should the user get the wrong certificate when the correct one is available??? I understand about SSL fitting between TCP/IP and HTTP in the protocol stack. I would expect the host name to transition as part of the SSL session initiation - given that the certificate authenticates the *name* and not the IP address!! It looks like this has already been considered by the gurus (not surprisingly :-) http://ietf.org/internet-drafts/draft-ietf-tls-emailaddr-00.txt I shall do a bit more research... Cheers Martin -----Original Message----- From: Parsons Technical Services [mailto:[EMAIL PROTECTED] Sent: 31 March 2004 14:55 To: Tomcat Users List Subject: Re: Multiple certificates for multiple virtual hosts (1:1) Martin, You missed something fundamental. See the following document for a brief description of the problem. http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html For a more detailed description see: http://httpd.apache.org/docs-2.0/ssl/ssl_intro.html Short answer you can't. I have an idea about a work around using non-standard ports: Short version- No connectors on 443. Redirect or link from http page to https nonstandard port. Has anyone tried this or have it working???? Doug www.parsonstechnical.com ----- Original Message ----- From: "Martin Alley" <[EMAIL PROTECTED]> To: "'Tomcat Users List'" <[EMAIL PROTECTED]> Sent: Wednesday, March 31, 2004 8:39 AM Subject: RE: Multiple certificates for multiple virtual hosts (1:1) > Okay, I see that the address attribute of the connector element can be > used to retrict IP/port combinations. > > As I've only got 1 IP this doesn't really affect me. > > Either I've misunderstood something fundamental, or the configuration > capabilities are not optimal. > > Any one? > > Thanks > Martin > > -----Original Message----- > From: Martin Alley [mailto:[EMAIL PROTECTED] > Sent: 31 March 2004 12:10 > To: Tomcat Users List > Subject: Multiple certificates for multiple virtual hosts (1:1) > > Hi, > > I want to have different certificates for different virtual hosts on my > tomcat setup (embedded in JBoss). > I only have 1 IP address. I want to use the default ports (80 & 443) > for each virtual server. > > A certificate doesn't say anything about the IP address - only the > common name (ie the FQDN). It is perfectly possible to change the IP > address of the machine on which the cert is installed, and not have to > update the certificate. Just let DNS update round the world. The key > thing is to keep the private key that is paired with the public key > embedded in the cert (that's been signed by the CA) secured on the same > machine. > > > Tomcat: The Definitive Guide, has this to say about multiple server > certificates: > "Suppose you are an ISP with clients, several of whom want to have their > own certificate. Typically this would involve using Virtual Hosts (as > covered in Chapter 7). Simply add an SSL Factory element to the > appropriate client's Connector, giving the keystore file for that > specific client." > > I don't see how virtual hosts are associated directly with certificates. > From my reading, certificates are associated with keystore, which are > associated with connectors, which are globally shared by one engine. > > In other words it seems you can have different certs for different > *ports*, and you can use any of the virtual host names with any of the > ports declared, but you can't have the appropriate cert selected based > on the host name. This is a shame, because *that* is what has been > certified! > > So, suppose I have 2 pairs of HTTP connectors each with an SSL factory: > Http 80 with SSL 443 (cert common name www.company1.com) > Http 8080 with SSL 8443 (cert common name www.company2.com) > > And I have virtual hosts > www.company1.com and www.company2.com > > It seems to me the certificate I will get presented would depend on the > port number entered, and not the virtual host name. Thus there exists > potential for a name mismatch between the requested url, and the common > name in the certificate - which is a "bad thing". > https://www.company1.com works and gets the right cert > https://www.company1.com:8443 works, but gets a warning because of the > mismatched cert > > Tomcat 5 SSL howto states: > "In order to implement SSL, a web server must have an associated > Certificate for each external interface (IP address) that accepts secure > connections." > > Ignoring my assertions about the irrelevance of IP address above, I > don't understand how a specific IP address is associated with a specific > certificate in server.xml > > Can someone put me right on this? Or provide a example server.xml of > what I want to achieve? > > Thanks > Martin > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]