~ubuntu-core-dev/eucalyptus/ubuntu-karmic

« back to all changes in this revision

Viewing changes to clc/modules/axis2-transport/src/edu/ucsb/eucalyptus/transport/query/StorageQuerySecurityHandler.java

  • Committer: Dmitrii Zagorodnov
  • Date: 2009-01-27 21:53:41 UTC
  • mfrom: (25.1.112 eucalyptus-main)
  • Revision ID: dmitrii@cs.ucsb.edu-20090127215341-i0f0v6cmbpljmg02
merged with current main

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
package edu.ucsb.eucalyptus.transport.query;
36
36
 
37
37
import edu.ucsb.eucalyptus.cloud.entities.UserInfo;
38
 
import edu.ucsb.eucalyptus.keys.*;
 
38
import edu.ucsb.eucalyptus.keys.AbstractKeyStore;
 
39
import edu.ucsb.eucalyptus.keys.ServiceKeyStore;
39
40
import edu.ucsb.eucalyptus.util.CaseInsensitiveMap;
40
41
import org.apache.log4j.Logger;
 
42
import org.apache.xml.security.utils.Base64;
41
43
import org.bouncycastle.openssl.PEMReader;
42
44
 
43
45
import java.io.StringReader;
44
 
import java.security.*;
 
46
import java.security.PublicKey;
 
47
import java.security.Signature;
45
48
import java.security.cert.X509Certificate;
46
49
import java.util.Map;
47
50
 
82
85
 
83
86
        String data = verb + "\n" + date + "\n" + addr + "\n";
84
87
 
85
 
        Signature sig = null;
 
88
        Signature sig;
86
89
        boolean valid = false;
87
90
        try {
88
91
            X509Certificate cert = (X509Certificate)new PEMReader(new StringReader(eucaCert)).readObject();
94
97
 
95
98
                sig.initVerify(publicKey);
96
99
                sig.update(data.getBytes());
97
 
                valid = sig.verify(signature.getBytes("UTF-8"));
 
100
                valid = sig.verify(Base64.decode(signature));
98
101
            }
99
102
        } catch(Exception ex) {
100
103
            ex.printStackTrace();
105
108
        }
106
109
 
107
110
        //run as admin
108
 
        return new UserInfo("admin");
 
111
        UserInfo admin = new UserInfo("admin");
 
112
        admin.setIsAdministrator(Boolean.TRUE);
 
113
        return admin;
109
114
    }
110
115
 
111
116