Преглед изворни кода

Made signedinfo related methods type safe

Nagy Attila Gabor пре 7 година
родитељ
комит
c85a1a8520

+ 2 - 1
RISE-V2G-Shared/src/main/java/com/v2gclarity/risev2g/shared/exiCodec/ExiCodec.java

@@ -42,6 +42,7 @@ import com.v2gclarity.risev2g.shared.utils.ByteUtils;
 import com.v2gclarity.risev2g.shared.utils.MiscUtils;
 import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolReq;
 import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
+import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignedInfoType;
 import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
 
 public abstract class ExiCodec {
@@ -164,7 +165,7 @@ public abstract class ExiCodec {
 	 * @param jaxbSignedInfo The SignedInfo element of the V2GMessage header, given as a JAXB element
 	 * @return The EXI encoding of the SignedInfo element given as a byte array
 	 */
-	public byte[] getExiEncodedSignedInfo(JAXBElement jaxbSignedInfo) {
+	public byte[] getExiEncodedSignedInfo(JAXBElement<SignedInfoType> jaxbSignedInfo) {
 		// The schema-informed fragment grammar option needs to be used for EXI encodings in the header's signature
 		setFragment(true);
 		

+ 0 - 1
RISE-V2G-Shared/src/main/java/com/v2gclarity/risev2g/shared/misc/State.java

@@ -93,7 +93,6 @@ public abstract class State {
 			int timeout) {
 		String messageName = message.getClass().getSimpleName().replace("Type", "");
 		
-		@SuppressWarnings({"unchecked"})
 		V2GMessage v2gMessage = getMessageHandler().getV2GMessage(
 				getCommSessionContext().getSessionID(),
 				getXMLSignatureRefElements(), 

+ 3 - 3
RISE-V2G-Shared/src/main/java/com/v2gclarity/risev2g/shared/utils/SecurityUtils.java

@@ -1819,7 +1819,7 @@ public final class SecurityUtils {
 	 */
 	public static boolean verifySignature(
 			SignatureType signature, 
-			JAXBElement jaxbSignature,
+			JAXBElement<SignedInfoType> jaxbSignature,
 			HashMap<String, byte[]> verifyXMLSigRefElements, 
 			byte[] verifyCert) {
 		X509Certificate x509VerifyCert = getCertificate(verifyCert);
@@ -1840,7 +1840,7 @@ public final class SecurityUtils {
 	 */
 	public static boolean verifySignature(
 				SignatureType signature,
-				JAXBElement jaxbSignedInfo,
+				JAXBElement<SignedInfoType> jaxbSignedInfo,
 				HashMap<String, byte[]> verifyXMLSigRefElements, 
 				X509Certificate verifyCert) {
 		byte[] calculatedReferenceDigest; 
@@ -1937,7 +1937,7 @@ public final class SecurityUtils {
 	private static void showSignatureVerificationLog(
 			X509Certificate verifyCert, 
 			SignatureType signature, 
-			JAXBElement jaxbSignedInfo, 
+			JAXBElement<SignedInfoType> jaxbSignedInfo, 
 			ECPublicKey ecPublicKey) {
 		byte[] computedSignedInfoDigest = generateDigest("", jaxbSignedInfo);
 		byte[] receivedSignatureValue = signature.getSignatureValue().getValue();