Skip to content

Commit fc287bc

Browse files
committed
[RELEASE] iText 8.0.5
2 parents e46013d + 7269b01 commit fc287bc

File tree

618 files changed

+21586
-3602
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

618 files changed

+21586
-3602
lines changed

barcodes/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.itextpdf</groupId>
77
<artifactId>root</artifactId>
8-
<version>8.0.4</version>
8+
<version>8.0.5</version>
99
</parent>
1010

1111
<artifactId>barcodes</artifactId>

bouncy-castle-adapter/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.itextpdf</groupId>
77
<artifactId>root</artifactId>
8-
<version>8.0.4</version>
8+
<version>8.0.5</version>
99
</parent>
1010

1111
<artifactId>bouncy-castle-adapter</artifactId>

bouncy-castle-adapter/src/main/java/com/itextpdf/bouncycastle/BouncyCastleFactory.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,6 +1020,18 @@ public IExtensions createExtensions(IExtension extension) {
10201020
return new ExtensionsBC(extension);
10211021
}
10221022

1023+
/**
1024+
* {@inheritDoc}
1025+
*/
1026+
@Override
1027+
public IExtensions createExtensions(IExtension[] extensions) {
1028+
Extension[] exts = new Extension[extensions.length];
1029+
for (int i = 0; i < extensions.length; ++i) {
1030+
exts[i] = ((ExtensionBC) extensions[i]).getExtension();
1031+
}
1032+
return new ExtensionsBC(new Extensions(exts));
1033+
}
1034+
10231035
/**
10241036
* {@inheritDoc}
10251037
*/
@@ -1468,6 +1480,14 @@ public IASN1GeneralizedTime createASN1GeneralizedTime(IASN1Encodable encodable)
14681480
return null;
14691481
}
14701482

1483+
/**
1484+
* {@inheritDoc}
1485+
*/
1486+
@Override
1487+
public IASN1GeneralizedTime createASN1GeneralizedTime(Date date) {
1488+
return new ASN1GeneralizedTimeBC(new ASN1GeneralizedTime(date));
1489+
}
1490+
14711491
/**
14721492
* {@inheritDoc}
14731493
*/

bouncy-castle-adapter/src/main/java/com/itextpdf/bouncycastle/asn1/ASN1GeneralizedTimeBC.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ This file is part of the iText (R) project.
2626

2727
import org.bouncycastle.asn1.ASN1GeneralizedTime;
2828

29+
import java.text.ParseException;
30+
import java.util.Date;
31+
2932
/**
3033
* Wrapper class for {@link ASN1GeneralizedTime}.
3134
*/
@@ -47,4 +50,16 @@ public ASN1GeneralizedTimeBC(ASN1GeneralizedTime asn1GeneralizedTime) {
4750
public ASN1GeneralizedTime getASN1GeneralizedTime() {
4851
return (ASN1GeneralizedTime) getEncodable();
4952
}
53+
54+
/**
55+
* {@inheritDoc}
56+
*
57+
* @return {@inheritDoc}
58+
*
59+
* @throws ParseException {@inheritDoc}
60+
*/
61+
@Override
62+
public Date getDate() throws ParseException {
63+
return getASN1GeneralizedTime().getDate();
64+
}
5065
}

bouncy-castle-adapter/src/main/java/com/itextpdf/bouncycastle/asn1/ocsp/OCSPObjectIdentifiersBC.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ public class OCSPObjectIdentifiersBC implements IOCSPObjectIdentifiers {
4444
private static final IASN1ObjectIdentifier ID_PKIX_OCSP_NOCHECK =
4545
new ASN1ObjectIdentifierBC(OCSPObjectIdentifiers.id_pkix_ocsp_nocheck);
4646

47+
private static final IASN1ObjectIdentifier ID_PKIX_OCSP_ARCHIVE_CUTOFF =
48+
new ASN1ObjectIdentifierBC(OCSPObjectIdentifiers.id_pkix_ocsp_archive_cutoff);
49+
4750
private final OCSPObjectIdentifiers ocspObjectIdentifiers;
4851

4952
/**
@@ -97,6 +100,14 @@ public IASN1ObjectIdentifier getIdPkixOcspNoCheck() {
97100
return ID_PKIX_OCSP_NOCHECK;
98101
}
99102

103+
/**
104+
* {@inheritDoc}
105+
*/
106+
@Override
107+
public IASN1ObjectIdentifier getIdPkixOcspArchiveCutoff() {
108+
return ID_PKIX_OCSP_ARCHIVE_CUTOFF;
109+
}
110+
100111
/**
101112
* Indicates whether some other object is "equal to" this one. Compares wrapped objects.
102113
*/

bouncy-castle-adapter/src/main/java/com/itextpdf/bouncycastle/asn1/x509/ExtensionBC.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ public class ExtensionBC extends ASN1EncodableBC implements IExtension {
5959
private static final ASN1ObjectIdentifierBC SUBJECT_KEY_IDENTIFIER =
6060
new ASN1ObjectIdentifierBC(Extension.subjectKeyIdentifier);
6161

62+
private static final IASN1ObjectIdentifier EXPIRED_CERTS_ON_CRL =
63+
new ASN1ObjectIdentifierBC(Extension.expiredCertsOnCRL);
64+
6265
/**
6366
* Creates new wrapper instance for {@link Extension}.
6467
*
@@ -149,4 +152,12 @@ public IASN1ObjectIdentifier getAuthorityKeyIdentifier() {
149152
public IASN1ObjectIdentifier getSubjectKeyIdentifier() {
150153
return SUBJECT_KEY_IDENTIFIER;
151154
}
155+
156+
/**
157+
* {@inheritDoc}
158+
*/
159+
@Override
160+
public IASN1ObjectIdentifier getExpiredCertsOnCRL() {
161+
return EXPIRED_CERTS_ON_CRL;
162+
}
152163
}

bouncy-castle-adapter/src/main/java/com/itextpdf/bouncycastle/cert/ocsp/BasicOCSPRespBC.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,12 @@ This file is part of the iText (R) project.
2222
*/
2323
package com.itextpdf.bouncycastle.cert.ocsp;
2424

25+
import com.itextpdf.bouncycastle.asn1.ASN1EncodableBC;
26+
import com.itextpdf.bouncycastle.asn1.ASN1ObjectIdentifierBC;
2527
import com.itextpdf.bouncycastle.cert.X509CertificateHolderBC;
2628
import com.itextpdf.bouncycastle.operator.ContentVerifierProviderBC;
29+
import com.itextpdf.commons.bouncycastle.asn1.IASN1Encodable;
30+
import com.itextpdf.commons.bouncycastle.asn1.IASN1ObjectIdentifier;
2731
import com.itextpdf.commons.bouncycastle.cert.IX509CertificateHolder;
2832
import com.itextpdf.commons.bouncycastle.cert.ocsp.IBasicOCSPResp;
2933
import com.itextpdf.commons.bouncycastle.cert.ocsp.ISingleResp;
@@ -32,6 +36,8 @@ This file is part of the iText (R) project.
3236
import java.io.IOException;
3337
import java.util.Date;
3438
import java.util.Objects;
39+
40+
import org.bouncycastle.asn1.x509.Extension;
3541
import org.bouncycastle.cert.X509CertificateHolder;
3642
import org.bouncycastle.cert.ocsp.BasicOCSPResp;
3743
import org.bouncycastle.cert.ocsp.OCSPException;
@@ -119,6 +125,16 @@ public Date getProducedAt() {
119125
return basicOCSPResp.getProducedAt();
120126
}
121127

128+
/**
129+
* {@inheritDoc}
130+
*/
131+
@Override
132+
public IASN1Encodable getExtensionParsedValue(IASN1ObjectIdentifier objectIdentifier) {
133+
Extension extension =
134+
basicOCSPResp.getExtension(((ASN1ObjectIdentifierBC) objectIdentifier).getASN1ObjectIdentifier());
135+
return new ASN1EncodableBC(extension == null ? null : extension.getParsedValue());
136+
}
137+
122138
/**
123139
* Indicates whether some other object is "equal to" this one. Compares wrapped objects.
124140
*/

bouncy-castle-connector/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.itextpdf</groupId>
77
<artifactId>root</artifactId>
8-
<version>8.0.4</version>
8+
<version>8.0.5</version>
99
</parent>
1010

1111
<artifactId>bouncy-castle-connector</artifactId>

bouncy-castle-connector/src/main/java/com/itextpdf/bouncycastleconnector/BouncyCastleDefaultFactory.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,11 @@ public IExtensions createExtensions(IExtension extension) {
519519
throw new UnsupportedOperationException(BouncyCastleLogMessageConstant.BOUNCY_CASTLE_DEPENDENCY_MUST_PRESENT);
520520
}
521521

522+
@Override
523+
public IExtensions createExtensions(IExtension[] extension) {
524+
throw new UnsupportedOperationException(BouncyCastleLogMessageConstant.BOUNCY_CASTLE_DEPENDENCY_MUST_PRESENT);
525+
}
526+
522527
@Override
523528
public IExtensions createNullExtensions() {
524529
throw new UnsupportedOperationException(BouncyCastleLogMessageConstant.BOUNCY_CASTLE_DEPENDENCY_MUST_PRESENT);
@@ -773,6 +778,11 @@ public IASN1GeneralizedTime createASN1GeneralizedTime(IASN1Encodable encodable)
773778
throw new UnsupportedOperationException(BouncyCastleLogMessageConstant.BOUNCY_CASTLE_DEPENDENCY_MUST_PRESENT);
774779
}
775780

781+
@Override
782+
public IASN1GeneralizedTime createASN1GeneralizedTime(Date date) {
783+
throw new UnsupportedOperationException(BouncyCastleLogMessageConstant.BOUNCY_CASTLE_DEPENDENCY_MUST_PRESENT);
784+
}
785+
776786
@Override
777787
public IASN1UTCTime createASN1UTCTime(IASN1Encodable encodable) {
778788
throw new UnsupportedOperationException(BouncyCastleLogMessageConstant.BOUNCY_CASTLE_DEPENDENCY_MUST_PRESENT);

bouncy-castle-fips-adapter/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.itextpdf</groupId>
77
<artifactId>root</artifactId>
8-
<version>8.0.4</version>
8+
<version>8.0.5</version>
99
</parent>
1010

1111
<artifactId>bouncy-castle-fips-adapter</artifactId>

bouncy-castle-fips-adapter/src/main/java/com/itextpdf/bouncycastlefips/BouncyCastleFipsFactory.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,6 +1030,18 @@ public IExtensions createExtensions(IExtension extension) {
10301030
return new ExtensionsBCFips(extension);
10311031
}
10321032

1033+
/**
1034+
* {@inheritDoc}
1035+
*/
1036+
@Override
1037+
public IExtensions createExtensions(IExtension[] extensions) {
1038+
Extension[] exts = new Extension[extensions.length];
1039+
for (int i = 0; i < extensions.length; ++i) {
1040+
exts[i] = ((ExtensionBCFips) extensions[i]).getExtension();
1041+
}
1042+
return new ExtensionsBCFips(new Extensions(exts));
1043+
}
1044+
10331045
/**
10341046
* {@inheritDoc}
10351047
*/
@@ -1478,6 +1490,14 @@ public IASN1GeneralizedTime createASN1GeneralizedTime(IASN1Encodable encodable)
14781490
return null;
14791491
}
14801492

1493+
/**
1494+
* {@inheritDoc}
1495+
*/
1496+
@Override
1497+
public IASN1GeneralizedTime createASN1GeneralizedTime(Date date) {
1498+
return new ASN1GeneralizedTimeBCFips(new ASN1GeneralizedTime(date));
1499+
}
1500+
14811501
/**
14821502
* {@inheritDoc}
14831503
*/

bouncy-castle-fips-adapter/src/main/java/com/itextpdf/bouncycastlefips/asn1/ASN1GeneralizedTimeBCFips.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ This file is part of the iText (R) project.
2626

2727
import org.bouncycastle.asn1.ASN1GeneralizedTime;
2828

29+
import java.text.ParseException;
30+
import java.util.Date;
31+
2932
/**
3033
* Wrapper class for {@link ASN1GeneralizedTime}.
3134
*/
@@ -47,4 +50,16 @@ public ASN1GeneralizedTimeBCFips(ASN1GeneralizedTime asn1GeneralizedTime) {
4750
public ASN1GeneralizedTime getASN1GeneralizedTime() {
4851
return (ASN1GeneralizedTime) getEncodable();
4952
}
53+
54+
/**
55+
* {@inheritDoc}
56+
*
57+
* @return {@inheritDoc}
58+
*
59+
* @throws ParseException {@inheritDoc}
60+
*/
61+
@Override
62+
public Date getDate() throws ParseException {
63+
return getASN1GeneralizedTime().getDate();
64+
}
5065
}

bouncy-castle-fips-adapter/src/main/java/com/itextpdf/bouncycastlefips/asn1/ocsp/OCSPObjectIdentifiersBCFips.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,12 @@ public class OCSPObjectIdentifiersBCFips implements IOCSPObjectIdentifiers {
4141
private static final IASN1ObjectIdentifier ID_PKIX_OCSP_NONCE =
4242
new ASN1ObjectIdentifierBCFips(OCSPObjectIdentifiers.id_pkix_ocsp_nonce);
4343

44-
4544
private static final IASN1ObjectIdentifier ID_PKIX_OCSP_NOCHECK =
4645
new ASN1ObjectIdentifierBCFips(OCSPObjectIdentifiers.id_pkix_ocsp_nocheck);
4746

47+
private static final IASN1ObjectIdentifier ID_PKIX_OCSP_ARCHIVE_CUTOFF =
48+
new ASN1ObjectIdentifierBCFips(OCSPObjectIdentifiers.id_pkix_ocsp_archive_cutoff);
49+
4850
private final OCSPObjectIdentifiers ocspObjectIdentifiers;
4951

5052
/**
@@ -98,6 +100,14 @@ public IASN1ObjectIdentifier getIdPkixOcspNoCheck() {
98100
return ID_PKIX_OCSP_NOCHECK;
99101
}
100102

103+
/**
104+
* {@inheritDoc}
105+
*/
106+
@Override
107+
public IASN1ObjectIdentifier getIdPkixOcspArchiveCutoff() {
108+
return ID_PKIX_OCSP_ARCHIVE_CUTOFF;
109+
}
110+
101111
/**
102112
* Indicates whether some other object is "equal to" this one. Compares wrapped objects.
103113
*/

bouncy-castle-fips-adapter/src/main/java/com/itextpdf/bouncycastlefips/asn1/x509/ExtensionBCFips.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ public class ExtensionBCFips extends ASN1EncodableBCFips implements IExtension {
5959
private static final ASN1ObjectIdentifierBCFips SUBJECT_KEY_IDENTIFIER =
6060
new ASN1ObjectIdentifierBCFips(Extension.subjectKeyIdentifier);
6161

62+
private static final IASN1ObjectIdentifier EXPIRED_CERTS_ON_CRL =
63+
new ASN1ObjectIdentifierBCFips(Extension.expiredCertsOnCRL);
64+
6265
/**
6366
* Creates new wrapper instance for {@link Extension}.
6467
*
@@ -149,4 +152,12 @@ public IASN1ObjectIdentifier getAuthorityKeyIdentifier() {
149152
public IASN1ObjectIdentifier getSubjectKeyIdentifier() {
150153
return SUBJECT_KEY_IDENTIFIER;
151154
}
155+
156+
/**
157+
* {@inheritDoc}
158+
*/
159+
@Override
160+
public IASN1ObjectIdentifier getExpiredCertsOnCRL() {
161+
return EXPIRED_CERTS_ON_CRL;
162+
}
152163
}

bouncy-castle-fips-adapter/src/main/java/com/itextpdf/bouncycastlefips/cert/ocsp/BasicOCSPRespBCFips.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,12 @@ This file is part of the iText (R) project.
2222
*/
2323
package com.itextpdf.bouncycastlefips.cert.ocsp;
2424

25+
import com.itextpdf.bouncycastlefips.asn1.ASN1EncodableBCFips;
26+
import com.itextpdf.bouncycastlefips.asn1.ASN1ObjectIdentifierBCFips;
2527
import com.itextpdf.bouncycastlefips.cert.X509CertificateHolderBCFips;
2628
import com.itextpdf.bouncycastlefips.operator.ContentVerifierProviderBCFips;
29+
import com.itextpdf.commons.bouncycastle.asn1.IASN1Encodable;
30+
import com.itextpdf.commons.bouncycastle.asn1.IASN1ObjectIdentifier;
2731
import com.itextpdf.commons.bouncycastle.cert.IX509CertificateHolder;
2832
import com.itextpdf.commons.bouncycastle.cert.ocsp.IBasicOCSPResp;
2933
import com.itextpdf.commons.bouncycastle.cert.ocsp.ISingleResp;
@@ -32,6 +36,8 @@ This file is part of the iText (R) project.
3236
import java.io.IOException;
3337
import java.util.Date;
3438
import java.util.Objects;
39+
40+
import org.bouncycastle.asn1.x509.Extension;
3541
import org.bouncycastle.cert.X509CertificateHolder;
3642
import org.bouncycastle.cert.ocsp.BasicOCSPResp;
3743
import org.bouncycastle.cert.ocsp.OCSPException;
@@ -118,6 +124,16 @@ public Date getProducedAt() {
118124
return basicOCSPResp.getProducedAt();
119125
}
120126

127+
/**
128+
* {@inheritDoc}
129+
*/
130+
@Override
131+
public IASN1Encodable getExtensionParsedValue(IASN1ObjectIdentifier objectIdentifier) {
132+
Extension extension =
133+
basicOCSPResp.getExtension(((ASN1ObjectIdentifierBCFips) objectIdentifier).getASN1ObjectIdentifier());
134+
return new ASN1EncodableBCFips(extension == null ? null : extension.getParsedValue());
135+
}
136+
121137
/**
122138
* Indicates whether some other object is "equal to" this one. Compares wrapped objects.
123139
*/

commons/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.itextpdf</groupId>
77
<artifactId>root</artifactId>
8-
<version>8.0.4</version>
8+
<version>8.0.5</version>
99
</parent>
1010

1111
<artifactId>commons</artifactId>
@@ -14,7 +14,7 @@
1414
<url>https://itextpdf.com/</url>
1515

1616
<properties>
17-
<jackson.core.version>2.16.1</jackson.core.version>
17+
<jackson.core.version>2.17.0</jackson.core.version>
1818
<sonar.coverage.exclusions>**/com/itextpdf/commons/bouncycastle/**</sonar.coverage.exclusions>
1919
</properties>
2020

commons/src/main/java/com/itextpdf/commons/actions/data/CommonsProductData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ This file is part of the iText (R) project.
2828
public final class CommonsProductData {
2929
static final String COMMONS_PUBLIC_PRODUCT_NAME = "Commons";
3030
static final String COMMONS_PRODUCT_NAME = "commons";
31-
static final String COMMONS_VERSION = "8.0.4";
31+
static final String COMMONS_VERSION = "8.0.5";
3232
static final String MINIMAL_COMPATIBLE_LICENSEKEY_VERSION = "4.1.0";
3333
static final int COMMONS_COPYRIGHT_SINCE = 2000;
3434
static final int COMMONS_COPYRIGHT_TO = 2024;

0 commit comments

Comments
 (0)