summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/uic
diff options
context:
space:
mode:
authorCGantert345 <57003061+CGantert345@users.noreply.github.com>2023-05-30 12:20:51 +0200
committerGitHub <noreply@github.com>2023-05-30 12:20:51 +0200
commit5762aadf4ac3b69d99978ecc7232ea2107addd14 (patch)
tree6815663e8a68bf9177c64421f299b63a378608b5 /src/main/java/org/uic
parentMerge pull request #64 from UnionInternationalCheminsdeFer/ssb-barcodes (diff)
parentfix on the security provider (diff)
downloadUIC-barcode-1.4.1.tar
UIC-barcode-1.4.1.tar.gz
UIC-barcode-1.4.1.tar.bz2
UIC-barcode-1.4.1.tar.lz
UIC-barcode-1.4.1.tar.xz
UIC-barcode-1.4.1.tar.zst
UIC-barcode-1.4.1.zip
Diffstat (limited to '')
-rw-r--r--src/main/java/org/uic/barcode/Encoder.java15
-rw-r--r--src/main/java/org/uic/barcode/staticFrame/StaticFrame.java1
-rw-r--r--src/main/java/org/uic/barcode/ticket/api/utils/Api2OpenAsnEncoder.java2
3 files changed, 14 insertions, 4 deletions
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);
diff --git a/src/main/java/org/uic/barcode/staticFrame/StaticFrame.java b/src/main/java/org/uic/barcode/staticFrame/StaticFrame.java
index 2cab54f..bf97acb 100644
--- a/src/main/java/org/uic/barcode/staticFrame/StaticFrame.java
+++ b/src/main/java/org/uic/barcode/staticFrame/StaticFrame.java
@@ -19,7 +19,6 @@ import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.Inflater;
-import org.uic.barcode.dynamicFrame.Constants;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.utils.SecurityUtils;
diff --git a/src/main/java/org/uic/barcode/ticket/api/utils/Api2OpenAsnEncoder.java b/src/main/java/org/uic/barcode/ticket/api/utils/Api2OpenAsnEncoder.java
index d8934d9..ada4c1a 100644
--- a/src/main/java/org/uic/barcode/ticket/api/utils/Api2OpenAsnEncoder.java
+++ b/src/main/java/org/uic/barcode/ticket/api/utils/Api2OpenAsnEncoder.java
@@ -2127,7 +2127,7 @@ public class Api2OpenAsnEncoder implements Api2AsnEncoder {
if (data.getSecurityProvider() != null) {
asnData.setSecurityProviderNum(UicEncoderUtils.getNum(data.getSecurityProvider()));
- data.setSecurityProvider(data.getIssuer());
+ asnData.setSecurityProviderIA5(UicEncoderUtils.getIA5NonNum(data.getSecurityProvider()));
} else {
asnData.setSecurityProviderNum(UicEncoderUtils.getNum(data.getIssuer()));
}