public override ISessionCryptoResult VerifyChargingSession(IChargingSession ChargingSession) { var sessionResult = SessionVerificationResult.UnknownSessionFormat; if (ChargingSession.Measurements != null) { foreach (var measurement in ChargingSession.Measurements) { measurement.ChargingSession = ChargingSession; // Must include at least two measurements (start & stop) if (measurement.Values != null && measurement.Values.Count() > 1) { // Validate... foreach (var measurementValue in measurement.Values) { measurementValue.Measurement = measurement; VerifyMeasurement(measurementValue as IEMHMeasurementValue); } // Find an overall result... sessionResult = SessionVerificationResult.ValidSignature; foreach (var measurementValue in measurement.Values) { if (sessionResult == SessionVerificationResult.ValidSignature && measurementValue.Result.Status != VerificationResult.ValidSignature) { sessionResult = SessionVerificationResult.InvalidSignature; } } } else { sessionResult = SessionVerificationResult.AtLeastTwoMeasurementsExpected; } } } return(new EMHSessionCryptoResult(sessionResult)); }
public abstract ISessionCryptoResult VerifyChargingSession(IChargingSession ChargingSession);
public override ISignResult SignChargingSession(IChargingSession ChargingSession, Byte[] PrivateKey, SignatureFormats SignatureFormat = SignatureFormats.DER) { return(null); }
public abstract ISignResult SignChargingSession(IChargingSession ChargingSession, Byte[] PrivateKey, SignatureFormats SignatureFormat = SignatureFormats.DER);