我在AWS EC2实例中部署了WSO2 API管理器。
我已通过sslforfree.com
购买了SSL证书。我试图通过keytool命令导入它。但它没有工作和抛出错误。它给了我
KrbException:找不到默认域
如何将此证书与API Manager关联?我没有WSO2的域名,我通过IP地址访问它。 在这种情况下,CA签名证书是否可能?
如果我想要这个EC2的域名,我该怎么办?
答案 0 :(得分:0)
您可以在Carbon内导入证书。以管理员身份登录try {
//my first http request
response = given().auth().digest("id","pass").
when().get("http://localhost:8080/login").
then().statusCode(200).extract().response();
////my second http request
response = given().
when().get("http://localhost:8080/getToken").
then().statusCode(200).body("access_token","token")
.extract().response();
} catch (Exception e) {
e.printStackTrace();
}
。之后继续<your_server>:9443/carbon
- &gt; Main
- &gt; Manage
- &gt; Keystores
如果您仍在使用默认设置,则此处会显示List
条目。单击wso2carbon.jks
,选择您的证书文件,然后单击Import cert
。你的证书应该在此之后工作。
答案 1 :(得分:0)
这个问题有几个主题:
我尝试通过keytool命令导入它。但它无法正常工作 抛出错误。它给了我KrbException:找不到默认域
keytool会给你这个例外吗?提供您使用过的keytool命令会很有用。没有理由这样的例外。
请注意,证书CN必须与服务器的fqdn(域名)相同(浏览器如何访问它)。
如何将此证书与API Manager关联?
有两种选择。
将密钥对(私钥和证书链)导入密钥库并配置APIM以使用密钥库(在repository / conf / tomcat / catalina-server.xml中)
拥有反向代理服务器(Apache HTTP,NGinx),并在该代理服务器上配置SSL。这是我最喜欢的方法。
请参阅:https://docs.wso2.com/display/AM210/Adding+a+Reverse+Proxy+Server
然后您可以控制谁/哪里可以访问碳控制台,商店和发布商。
我没有WSO2的域名,我通过IP地址访问它。是 在这种情况下,CA签署证书是否可能?
证书颁发机构不提供基于IP的证书,因为它们可以验证域名的所有权/控制权,但不能验证IP地址的所有权/控制权。
您可以创建(并使其信任)您自己的CA和证书(适用于PoC,DEV环境......),但从长远来看,您需要在主机名上使用可信证书。
如果我想要这个EC2的域名,我怎么能有一个?
你总是可以购买一个:D为了开始 - 当EC2实例具有动态IP地址时,你可以使用一些动态DNS服务(例如https://ydns.io/,如果你愿意,只需搜索更多)