From c5c2c73f3fe46e23871f609b82791540c1a16a24 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Tue, 30 May 2023 12:19:12 +0200 Subject: fix on the security provider --- src/main/java/org/uic/barcode/Encoder.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/uic/barcode/Encoder.java') diff --git a/src/main/java/org/uic/barcode/Encoder.java b/src/main/java/org/uic/barcode/Encoder.java index f2b9b0c..f8dae02 100644 --- a/src/main/java/org/uic/barcode/Encoder.java +++ b/src/main/java/org/uic/barcode/Encoder.java @@ -370,16 +370,27 @@ public class Encoder { */ public void signLevel1(String securityProvider,PrivateKey key,String signingAlg, String keyId) throws Exception { if (dynamicFrame != null) { - dynamicFrame.getLevel2Data().getLevel1Data().setSecurityProvider(securityProvider); + if (securityProvider != null && securityProvider.length() > 0) { + dynamicFrame.getLevel2Data().getLevel1Data().setSecurityProvider(securityProvider); + } dynamicFrame.getLevel2Data().getLevel1Data().setLevel1SigningAlg(signingAlg); dynamicFrame.getLevel2Data().getLevel1Data().setKeyId(Long.parseLong(keyId)); dynamicFrame.signLevel1(key); } else if (staticFrame != null) { staticFrame.setSignatureKey(keyId); staticFrame.setSecurityProvider(securityProvider); - if (staticFrame.getHeaderRecord()!= null && staticFrame.getHeaderRecord().getIssuer() == null) { + if (securityProvider != null && + securityProvider.length() > 0 && + staticFrame.getHeaderRecord()!= null) { staticFrame.getHeaderRecord().setIssuer(securityProvider); } + if (securityProvider != null && + securityProvider.length() > 0 && + staticFrame.getuFlex() != null && + staticFrame.getuFlex().getTicket() != null && + staticFrame.getuFlex().getTicket().getIssuerDetails() != null) { + staticFrame.getuFlex().getTicket().getIssuerDetails().setSecurityProvider(securityProvider); + } staticFrame.signByAlgorithmOID(key,signingAlg); } else if (ssbFrame != null) { ssbFrame.signLevel1(key, null, keyId, signingAlg); -- cgit v1.2.3