我在Active Directory域中有两台服务器。 这两个服务器都有在Tomcat中运行的应用程序。 我为这两台服务器订购了PKI证书。
服务器是AD域“ourInternalNetwork.com”的成员。 该域中的大多数系统不能从公共互联网访问。 这两个服务器将可以从“networking”访问。
出于政治原因,我们没有注册“ourInternalNetwork.com”,而是我们有“ExternalNetwork.com”域名。当我们进入系统属性时,服务器将自己标识为“server1.ourInternalNetwork.com”和“server2.ourInternalNetwork”。 COM”。 但是,我们希望Internet连接用户通过“server1.externalNetwork.com”和“server2.externalNetwork.com”访问服务器。
这需要一个主题替代名称,对吗? 我的理解是,如果我们创build没有SAN的CSR,CSR将用于“server1.ourInternalNetwork.com”,而我们的CA不会颁发给我们“server1.ExternalNetwork.com”的证书? 但是,如果我们指定一个SAN,那么我们的CA将为“server1.ourInternalNetwork.com”和“server1.ExternalNetwork.com”颁发证书。
我有这个权利吗?
如果您的服务器上运行的应用程序只能从外部接口访问,则根本不需要打扰SAN。 只需购买一个外部名称的标准证书,并完成它。 即使内部人员访问应用程序,这也可以工作,你只要告诉他们在连接时使用外部名称。 没有什么需要将服务器的内部身份与应用程序的外部名称配对。
如果您需要使用内部和外部名称来访问应用程序,则除非您运行自己的CA,否则您将无法使用单个证书进行访问。 正如格兰特所说,没有任何公共CA会颁发你不属于你的DNS域的证书。 使用您自己的CA,您可以在技术上生成包含两个名称的证书。 如果你真的想,你甚至可以生成“google.com”的证书。 但是您不pipe理的外部客户端将获得证书警告,除非他们select将您的CA证书添加到其受信任的根目录。 这就是为什么你通常select使用公共CA开始; 默认信任。
我不确定它是如何与Tomcat协同工作的,但假设您可以将应用程序托pipe在同一台服务器的不同界面上。 内部接口将使用您自己生成的证书。 外部接口将使用购买的证书。
如果您不是ourinternalnetwork.com的当前注册人,在任何情况下,合法的CA都不应该为您或其子域颁发证书。
不要使用你不拥有的域名。