Browse Source

- Added check that CONTRACT-based payment option is not offered in ServiceDiscoveryRes message if a communication session without TLS connection is used
- removed some unused imports here and there

Marc Mültin 9 years ago
parent
commit
4a8a8024f7

+ 0 - 1
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCertificateInstallationRes.java

@@ -20,7 +20,6 @@ import org.eclipse.risev2g.shared.enumerations.V2GMessages;
 import org.eclipse.risev2g.shared.messageHandling.ReactionToIncomingMessage;
 import org.eclipse.risev2g.shared.messageHandling.TerminateSession;
 import org.eclipse.risev2g.shared.utils.SecurityUtils;
-import org.eclipse.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.SignatureType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.V2GMessage;

+ 0 - 1
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPaymentDetailsRes.java

@@ -18,7 +18,6 @@ import org.eclipse.risev2g.shared.messageHandling.TerminateSession;
 import org.eclipse.risev2g.shared.utils.SecurityUtils;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
-import org.eclipse.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.V2GMessage;
 
 public class WaitForPaymentDetailsRes extends ClientState {

+ 0 - 7
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForServiceDiscoveryRes.java

@@ -10,20 +10,13 @@
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 
-import java.security.KeyStore;
-import java.security.cert.X509Certificate;
-import java.util.Date;
-
 import org.eclipse.risev2g.evcc.session.V2GCommunicationSessionEVCC;
 import org.eclipse.risev2g.evcc.transportLayer.TLSClient;
-import org.eclipse.risev2g.shared.enumerations.GlobalValues;
 import org.eclipse.risev2g.shared.enumerations.V2GMessages;
 import org.eclipse.risev2g.shared.messageHandling.ReactionToIncomingMessage;
 import org.eclipse.risev2g.shared.messageHandling.TerminateSession;
-import org.eclipse.risev2g.shared.utils.MiscUtils;
 import org.eclipse.risev2g.shared.utils.SecurityUtils;
 import org.eclipse.risev2g.shared.utils.SecurityUtils.ContractCertificateStatus;
-import org.eclipse.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.SelectedServiceType;

+ 0 - 4
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/TLSClient.java

@@ -15,14 +15,10 @@ import java.net.Inet6Address;
 import java.net.SocketTimeoutException;
 import java.net.UnknownHostException;
 import java.security.cert.Certificate;
-import java.security.cert.CertificateExpiredException;
 import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-
 import javax.net.ssl.SSLHandshakeException;
 import javax.net.ssl.SSLSocket;
 import javax.net.ssl.SSLSocketFactory;
-
 import org.eclipse.risev2g.shared.enumerations.GlobalValues;
 import org.eclipse.risev2g.shared.misc.V2GTPMessage;
 import org.eclipse.risev2g.shared.utils.SecurityUtils;

+ 0 - 1
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/session/V2GCommunicationSessionHandlerSECC.java

@@ -29,7 +29,6 @@ import org.eclipse.risev2g.shared.messageHandling.MessageHandler;
 import org.eclipse.risev2g.shared.messageHandling.TerminateSession;
 import org.eclipse.risev2g.shared.misc.V2GTPMessage;
 import org.eclipse.risev2g.shared.utils.ByteUtils;
-import org.eclipse.risev2g.shared.utils.MiscUtils;
 import org.eclipse.risev2g.shared.v2gMessages.SECCDiscoveryReq;
 import org.eclipse.risev2g.shared.v2gMessages.SECCDiscoveryRes;
 

+ 0 - 11
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/session/V2GCommunicationSessionSECC.java

@@ -86,7 +86,6 @@ public class V2GCommunicationSessionSECC extends V2GCommunicationSession impleme
 	private EnergyTransferModeType requestedEnergyTransferMode;
 	private CertificateChainType contractSignatureCertChain;
 	private MeterInfoType sentMeterInfo;
-	private boolean tlsConnection;
 	
 	public V2GCommunicationSessionSECC(ConnectionHandler connectionHandler) {
 		setConnectionHandler(connectionHandler);
@@ -448,14 +447,4 @@ public class V2GCommunicationSessionSECC extends V2GCommunicationSession impleme
 	public void setEvseController(IEVSEController evseController) {
 		this.evseController = evseController;
 	}
-
-
-	public boolean isTlsConnection() {
-		return tlsConnection;
-	}
-
-
-	public void setTlsConnection(boolean tlsConnection) {
-		this.tlsConnection = tlsConnection;
-	}
 }

+ 10 - 7
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/V2GCommunicationSession.java

@@ -38,7 +38,7 @@ public abstract class V2GCommunicationSession extends Observable {
 	private byte[] sessionID;
 	private V2GTPMessage v2gTpMessage;
 	private V2GMessage v2gMessage;
-	private boolean secureCommunication;
+	private boolean tlsConnection;
 	
 	public V2GCommunicationSession() {
 		setStates(new HashMap<V2GMessages, State>());
@@ -120,6 +120,10 @@ public abstract class V2GCommunicationSession extends Observable {
 			paymentOptions = new ArrayList<PaymentOptionType>();
 		}
 		
+		// Contract-based payment may only be offered if TLS is used
+		if (!isTlsConnection()) 
+			paymentOptions.remove(PaymentOptionType.CONTRACT);
+				
 		PaymentOptionListType paymentOptionList = new PaymentOptionListType();
 		paymentOptionList.getPaymentOption().addAll(paymentOptions);
 		
@@ -209,14 +213,13 @@ public abstract class V2GCommunicationSession extends Observable {
 	public void setV2gMessage(V2GMessage v2gMessage) {
 		this.v2gMessage = v2gMessage;
 	}
-
-
-	public boolean isSecureCommunication() {
-		return secureCommunication;
+	
+	public boolean isTlsConnection() {
+		return tlsConnection;
 	}
 
 
-	public void setSecureCommunication(boolean secureCommunication) {
-		this.secureCommunication = secureCommunication;
+	public void setTlsConnection(boolean tlsConnection) {
+		this.tlsConnection = tlsConnection;
 	}
 }