blob: 60a73fbf6a9d66b877a2c591b818c0c5d19e1efc [file] [log] [blame]
package com.android.hotspot2.osu.commands;
import android.util.Base64;
import com.android.hotspot2.omadm.OMAException;
import com.android.hotspot2.omadm.XMLNode;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
/*
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header/>
<env:Body>
<spp:sppPostDevDataResponse xmlns:spp="http://www.wi-fi.org/specifications/hotspot2dot0/v1.0/spp"
spp:sessionID="A40103ACEDE94C45BA127A41239BD60F" spp:sppStatus="OK"
spp:sppVersion="1.0">
<spp:exec>
<spp:getCertificate enrollmentProtocol="EST">
<spp:enrollmentServerURI>https://osu-server.r2-testbed-rks.wi-fi.org:9446/.well-known/est
</spp:enrollmentServerURI>
<spp:estUserID>a88c4830-aafd-420b-b790-c08f457a0fa3</spp:estUserID>
<spp:estPassword>cnVja3VzMTIzNA==</spp:estPassword>
</spp:getCertificate>
</spp:exec>
</spp:sppPostDevDataResponse>
</env:Body>
</env:Envelope>
*/
public class GetCertData implements OSUCommandData {
private final String mProtocol;
private final String mServer;
private final String mUserName;
private final byte[] mPassword;
public GetCertData(XMLNode commandNode) throws OMAException {
mProtocol = commandNode.getAttributeValue("enrollmentProtocol");
Map<String, String> values = new HashMap<>(3);
for (XMLNode node : commandNode.getChildren()) {
values.put(node.getStrippedTag(), node.getText());
}
mServer = values.get("enrollmentserveruri");
mUserName = values.get("estuserid");
mPassword = Base64.decode(values.get("estpassword"), Base64.DEFAULT);
}
public String getProtocol() {
return mProtocol;
}
public String getServer() {
return mServer;
}
public String getUserName() {
return mUserName;
}
public byte[] getPassword() {
return mPassword;
}
@Override
public String toString() {
return "GetCertData " +
"protocol='" + mProtocol + '\'' +
", server='" + mServer + '\'' +
", userName='" + mUserName + '\'' +
", password='" + new String(mPassword, StandardCharsets.ISO_8859_1) + '\'';
}
}