Foros del Web » Programación para mayores de 30 ;) » Java »

SOAP y la clase org.apache.ws.security

Estas en el tema de SOAP y la clase org.apache.ws.security en el foro de Java en Foros del Web. Estoy portando una aplicación de Java que trabaja con SOAP a PHP. Me he encontrado que al momento de autenticar usando SOAP WSSE, utiliza un ...
  #1 (permalink)  
Antiguo 10/04/2010, 14:44
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 3 meses
Puntos: 7
SOAP y la clase org.apache.ws.security

Estoy portando una aplicación de Java que trabaja con SOAP a PHP.

Me he encontrado que al momento de autenticar usando SOAP WSSE, utiliza un método propio de encriptación de clave, estimo se implementa en
Código:
org.apache.ws.security
, conocen cúal sería el método o forma aplicada?

La clave autentificada termina quedando en 128bits aunque no es ninguna de estas: http://www.php.net/manual/en/function.hash-algos.php

Saludos.
  #2 (permalink)  
Antiguo 10/04/2010, 20:46
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 3 meses
Puntos: 7
Respuesta: SOAP y la clase org.apache.ws.security

Hola Gente,

He encontrado la formá en que trabaja, tenía un salt por eso no coincidia, al final utilizaba algo como esto:

Código PHP:
public class StringEncrypter {

    
Cipher ecipher;

    public 
StringEncrypter(String passPhrase) {

        
// 8-bytes Salt
        
byte[] salt = {
            (
byte0xA9, (byte0x9B, (byte0xC8, (byte0x32,
            (
byte0x56, (byte0x34, (byte0xE3, (byte0x03
        
};

        
// Iteration count
        
int iterationCount 19;

            
KeySpec keySpec = new PBEKeySpec(passPhrase.toCharArray(), saltiterationCount);
            
SecretKey key SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(keySpec);

            
ecipher Cipher.getInstance(key.getAlgorithm());

            
// Prepare the parameters to the cipthers
            
AlgorithmParameterSpec paramSpec = new PBEParameterSpec(saltiterationCount);

            
ecipher.init(Cipher.ENCRYPT_MODEkeyparamSpec);
    }

    public 
String encrypt(String str) {

            
// Encode the string into bytes using utf-8
            
byte[] utf8 str.getBytes("UTF8");

            
// Encrypt
            
byte[] enc ecipher.doFinal(utf8);

            
// Encode bytes to base64 to get a string
            
return new sun.misc.BASE64Encoder().encode(enc);

     }

 } 
Aunque necesito pasarlo a PHP, entiendo que escapa a sus conocimiento por lo que si a alguno ya lo ha hecho, les agradecería el comentario.

Saludos.
  #3 (permalink)  
Antiguo 10/04/2010, 22:57
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 3 meses
Puntos: 7
Respuesta: SOAP y la clase org.apache.ws.security

La verdad es que me siento un idiota, busqué, investigue, probé y un infinito, etc, durante casi 10 horas para crear la functión que emule la encriptación de Java en PHP, lo loco, es que no entiendo para qué, ya que ya tengo la contraseña encriptada, la envio directamente y gualá! encima es más seguro ya que en el script no quedan contraseñas en texto plano...

Un buen ejemplo de no seguir la metodología KISS.

De todas manera, lo dejo planteado, nunca está demás.

Saludos.

Etiquetas: clase, soap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:10.