|
|
c89ed9 |
# HG changeset patch
|
|
|
c89ed9 |
# User David Stutzman<david.konrad.stutzman@us.army.mil>
|
|
|
c89ed9 |
# Date 1516144092 28800
|
|
|
c89ed9 |
# Tue Jan 16 15:08:12 2018 -0800
|
|
|
c89ed9 |
# Node ID 1d858c6d4626b625bb671426e6899d98c2f5bb2e
|
|
|
c89ed9 |
# Parent 8746a3fc74785e2fd12f86d08a6886ed9160620e
|
|
|
c89ed9 |
Bug# 386351 SignerInfo version, r=cfu
|
|
|
c89ed9 |
|
|
|
c89ed9 |
This patch fixes versioning of SignerInfo to match CMS spec.
|
|
|
c89ed9 |
|
|
|
c89ed9 |
cfu for dstutzman
|
|
|
c89ed9 |
|
|
|
c89ed9 |
diff --git a/org/mozilla/jss/pkix/cms/SignerInfo.java b/org/mozilla/jss/pkix/cms/SignerInfo.java
|
|
|
c89ed9 |
--- a/org/mozilla/jss/pkix/cms/SignerInfo.java
|
|
|
c89ed9 |
+++ b/org/mozilla/jss/pkix/cms/SignerInfo.java
|
|
|
c89ed9 |
@@ -52,9 +52,6 @@
|
|
|
c89ed9 |
private OCTET_STRING encryptedDigest;
|
|
|
c89ed9 |
private SET unsignedAttributes; // [1] OPTIONAL
|
|
|
c89ed9 |
|
|
|
c89ed9 |
- // we only do CMS in RFC 2630
|
|
|
c89ed9 |
- private static final INTEGER VERSION = new INTEGER(3);
|
|
|
c89ed9 |
-
|
|
|
c89ed9 |
///////////////////////////////////////////////////////////////////////
|
|
|
c89ed9 |
///////////////////////////////////////////////////////////////////////
|
|
|
c89ed9 |
// Accessor methods
|
|
|
c89ed9 |
@@ -198,8 +195,17 @@
|
|
|
c89ed9 |
CryptoManager.NotInitializedException, SignatureException,
|
|
|
c89ed9 |
TokenException
|
|
|
c89ed9 |
{
|
|
|
c89ed9 |
- version = VERSION;
|
|
|
c89ed9 |
+ if (signerIdentifier == null) {
|
|
|
c89ed9 |
+ throw new IllegalArgumentException("SignerIdentifier may not be null");
|
|
|
c89ed9 |
+ }
|
|
|
c89ed9 |
this.signerIdentifier = signerIdentifier;
|
|
|
c89ed9 |
+ if (SignerIdentifier.ISSUER_AND_SERIALNUMBER.equals(this.signerIdentifier.getType())) {
|
|
|
c89ed9 |
+ this.version = new INTEGER(1);
|
|
|
c89ed9 |
+ } else if (SignerIdentifier.SUBJECT_KEY_IDENTIFIER.equals(this.signerIdentifier.getType())) {
|
|
|
c89ed9 |
+ this.version = new INTEGER(3);
|
|
|
c89ed9 |
+ } else {
|
|
|
c89ed9 |
+ throw new IllegalArgumentException("Unexpected SignerIdentifier type");
|
|
|
c89ed9 |
+ }
|
|
|
c89ed9 |
this.digestAlgorithm =
|
|
|
c89ed9 |
new AlgorithmIdentifier(signingAlg.getDigestAlg().toOID(),null);
|
|
|
c89ed9 |
|