curl -k -u jsmith:passwd
https://myserver.example.com:8443/cli/application/info
?application=JPetStore
Para recuperar uma chave de sessão, efetue login no servidor como de costume. Em seguida, no navegador da web, localize o valor do cabeçalho que é denominado UCD_SESSION_KEY. É possível procurar pelo cookie com esse nome ou consultar a lista de cabeçalhos que estão associados à página da web. A maneira como você visualiza essas informações depende de qual navegador você está usando. Consulte a documentação para seu navegador da web para obter informações adicionais.
UCD_SESSION_KEY:sessionKey
Use
o valor do cookie UCD_SESSION_KEY como 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()
Para obter um exemplo de autenticação em um script Groovy, consulte a página a seguir: http://devblog.laraziosi.org/extensibility/index.php/devops-articles/6-getting-started-with-the-ibm-urbancode-deploy-rest-api-and-groovy
O código Java™ a seguir é um exemplo simples de autenticação com um nome de usuário e senha. O código aceita todos os certificados, mas é possível modificar o código para controlar quais certificados são aceitos.
Este exemplo requer os arquivos JAR HttpComponents-Util.jar e uDeployRestClient.jar. O arquivo HttpComponents-Util.jar está disponível na pasta opt no servidor. O arquivo uDeployRestClient.jar está disponível em vários plug-ins principais, como o plug-in UrbanCode Deploy Applications.
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
Use o nome do atributo keystoreFile do arquivo server.xml para keyStoreFileName. Quando o
comando solicitar uma senha, especifique o valor do atributo keystorePass.
O valor padrão é changeit.Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: server
Creation date: Mar 19, 2014
Entry type: PrivateKeyEntry
Neste código, o alias é server.keytool -exportcert
-alias serverAlias
-keystore keyStoreFileName
-storetype jks
-file server.cert
Use o alias do servidor para serverAlias.jreLocation\jre\bin\keytool.exe -importcert
-alias serverAlias
-file tomcat.cert
-storetype jks
-keystore jreLocation\jre\lib\security\cacerts
Use o local do JRE ou JDK para jreLocation.