Skip to content

Commit 17f55c5

Browse files
committed
added id-alg-unsigned and use for it with empty signatures for X.509.
1 parent 7eee23b commit 17f55c5

File tree

5 files changed

+11
-6
lines changed

5 files changed

+11
-6
lines changed

core/src/main/java/org/bouncycastle/asn1/x509/X509ObjectIdentifiers.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,11 @@ public interface X509ObjectIdentifiers
100100
*/
101101
ASN1ObjectIdentifier id_alg_noSignature = pkix_algorithms.branch("2");
102102

103+
/**
104+
* id-alg-unsigned OBJECT IDENTIFIER ::= {id-pkix id-alg(6) 36}
105+
*/
106+
ASN1ObjectIdentifier id_alg_unsigned = pkix_algorithms.branch("36");
107+
103108
/** 1.3.6.1.5.5.7.9 */
104109
static final ASN1ObjectIdentifier id_pda = id_pkix.branch("9");
105110

pkix/src/main/java/org/bouncycastle/operator/NoSignatureContentSigner.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.io.IOException;
44
import java.io.OutputStream;
55

6-
import org.bouncycastle.asn1.DERNull;
76
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
87
import org.bouncycastle.asn1.x509.X509ObjectIdentifiers;
98

@@ -16,7 +15,7 @@ public class NoSignatureContentSigner
1615
@Override
1716
public AlgorithmIdentifier getAlgorithmIdentifier()
1817
{
19-
return new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_noSignature, DERNull.INSTANCE);
18+
return new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_unsigned);
2019
}
2120

2221
@Override

pkix/src/test/java/org/bouncycastle/cert/test/CertTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4024,8 +4024,8 @@ public void checkCreationNoSignature()
40244024

40254025
org.bouncycastle.asn1.x509.Certificate crt = org.bouncycastle.asn1.x509.Certificate.getInstance(cert.getEncoded());
40264026

4027-
isTrue(new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_noSignature, DERNull.INSTANCE).equals(crt.getTBSCertificate().getSignature()));
4028-
isTrue(new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_noSignature, DERNull.INSTANCE).equals(crt.getSignatureAlgorithm()));
4027+
isTrue(new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_unsigned).equals(crt.getTBSCertificate().getSignature()));
4028+
isTrue(new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_unsigned).equals(crt.getSignatureAlgorithm()));
40294029
isTrue(0 == cert.getSignature().length);
40304030
}
40314031

prov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/NoSig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public Mappings()
8585
public void configure(ConfigurableProvider provider)
8686
{
8787
provider.addAlgorithm("Signature." + X509ObjectIdentifiers.id_alg_noSignature, PREFIX + "SigSpi");
88+
provider.addAlgorithm("Signature." + X509ObjectIdentifiers.id_alg_unsigned, PREFIX + "SigSpi");
8889
}
8990
}
9091
}

prov/src/test/java/org/bouncycastle/jce/provider/test/TestUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,15 +130,15 @@ public static X509Certificate createNoSigCert(X500Name dn, KeyPair keyPair)
130130
certGen.setSubject(dn);
131131
certGen.setStartDate(new Time(new Date(time - 5000)));
132132
certGen.setEndDate(new Time(new Date(time + 30 * 60 * 1000)));
133-
certGen.setSignature(new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_noSignature, DERNull.INSTANCE));
133+
certGen.setSignature(new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_unsigned));
134134
certGen.setSubjectPublicKeyInfo(SubjectPublicKeyInfo.getInstance(keyPair.getPublic().getEncoded()));
135135

136136
TBSCertificate tbsCert = certGen.generateTBSCertificate();
137137

138138
ASN1EncodableVector v = new ASN1EncodableVector();
139139

140140
v.add(tbsCert);
141-
v.add(new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_noSignature, DERNull.INSTANCE));
141+
v.add(new AlgorithmIdentifier(X509ObjectIdentifiers.id_alg_unsigned));
142142
v.add(new DERBitString(new byte[0]));
143143

144144
return (X509Certificate)CertificateFactory.getInstance("X.509", "BC").generateCertificate(new ByteArrayInputStream(new DERSequence(v).getEncoded(ASN1Encoding.DER)));

0 commit comments

Comments
 (0)