curl -k -u jsmith:passwd
https://myserver.example.com:8443/cli/application/info
?application=JPetStore
要检索会话密钥,请照常登录服务器。然后在 Web 浏览器中查找名为 UCD_SESSION_KEY 的头的值。可以查找具有该名称的 cookie,也可以查看与网页相关联的头的列表。查看此信息的方式取决于您使用的浏览器。有关更多信息,请参阅您的 Web 浏览器的文档。
UCD_SESSION_KEY:sessionKey
将 UCD_SESSION_KEY cookie 的值用作 sessionKey。#!/usr/bin/env python
import urllib2
import json
import base64
import sys
if not len(sys.argv) == 3:
print 'usage: script <username> <password>'
exit(1)
username = sys.argv[1]
password = sys.argv[2]
epass = base64.b64encode(username + ':' + password)
print 'base64 encoded: ' + epass
baseUrl = 'ucdeploy.example.org:8443'
url = 'https://' + baseUrl + '/cli/application/info' + '?application=JPetStore'
opener = urllib2.build_opener(urllib2.HTTPHandler)
req = urllib2.Request(url)
req.add_header('Authorization', 'Basic '+epass)
req.get_method = lambda: 'GET'
resp = opener.open(req)
print resp.read()
有关在 Groovy 脚本中进行认证的一个示例,请参阅以下页面:http://devblog.laraziosi.org/extensibility/index.php/devops-articles/6-getting-started-with-the-ibm-urbancode-deploy-rest-api-and-groovy
以下 Java™ 代码是一个使用用户名和密码进行认证的简单示例。此代码接受所有证书,但是您可以修改此代码,以控制将接受哪些证书。
此示例需要 HttpComponents-Util.jar 和 uDeployRestClient.jar JAR 文件。可以在服务器上的 opt 文件夹中找到 HttpComponents-Util.jar 文件。许多核心插件(例如,UrbanCode Deploy 应用程序插件)中都提供了 uDeployRestClient.jar 文件。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.log4j.Logger;
import com.urbancode.commons.httpcomponentsutil.HttpClientBuilder;
public class RESTExample {
public static void main(String[] args) {
// suppress log4j messages from UCD library
Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
HttpClientBuilder clientBuilder = new HttpClientBuilder();
clientBuilder.setUsername("admin");
clientBuilder.setPassword("admin");
// for SSL enabled servers, accept all certificates
clientBuilder.setTrustAllCerts(true);
DefaultHttpClient client = clientBuilder.buildClient();
try {
HttpGet request = new HttpGet(new URI(
"https://ucdeploy.example.org:8443/cli/application/info?application=JPetStore"));
try {
HttpResponseresp = client.execute(request);
BufferedReaderbr = new BufferedReader (
new InputStreamReader(resp.getEntity().getContent()));
String currentLine = new String();
while ((currentLine = br.readLine()) != null){
System.out.print(currentLine);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
sslProtocol="TLS"
keystoreFile="conf/tomcat.keystore"
keystorePass="changeit" />
keytool -v -list -keystore keyStoreFileName
使用 server.xml 文件中的 keystoreFile
属性的名称替换 keyStoreFileName。当该命令提示您输入密码时,请指定
keystorePass 属性的值。缺省值为 changeit。Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: server
Creation date: Mar 19, 2014
Entry type: PrivateKeyEntry
在此代码中,别名是 server。keytool -exportcert
-alias serverAlias
-keystore keyStoreFileName
-storetype jks
-file server.cert
使用服务器的别名替换 serverAlias。jreLocation\jre\bin\keytool.exe -importcert
-alias serverAlias
-file tomcat.cert
-storetype jks
-keystore jreLocation\jre\lib\security\cacerts
使用 JRE 或 JDK 的位置替换 jreLocation。