* Bugzilla Bug #1221295 - jss fails to decode EncryptedKey >> EnvelopedData (cfu for roysjosh@gmail.com)
34 lines
1.7 KiB
Diff
34 lines
1.7 KiB
Diff
diff -up jss-4.2.6/mozilla/security/jss/org/mozilla/jss/pkix/crmf/EncryptedKey.java.roysjosh jss-4.2.6/mozilla/security/jss/org/mozilla/jss/pkix/crmf/EncryptedKey.java
|
|
--- jss-4.2.6/mozilla/security/jss/org/mozilla/jss/pkix/crmf/EncryptedKey.java.roysjosh 2016-06-24 14:51:48.929122053 -0700
|
|
+++ jss-4.2.6/mozilla/security/jss/org/mozilla/jss/pkix/crmf/EncryptedKey.java 2016-06-24 14:52:29.487027005 -0700
|
|
@@ -127,7 +127,8 @@ public class EncryptedKey implements ASN
|
|
} else {
|
|
Assert._assert(type == ENVELOPED_DATA);
|
|
Assert._assert(envelopedData != null);
|
|
- envelopedData.encode(implicitTag, ostream);
|
|
+ EXPLICIT explicit = new EXPLICIT( new Tag(0), envelopedData );
|
|
+ explicit.encode(tag, ostream);
|
|
}
|
|
}
|
|
|
|
@@ -147,7 +148,9 @@ public class EncryptedKey implements ASN
|
|
choicet = new CHOICE.Template();
|
|
|
|
choicet.addElement( EncryptedValue.getTemplate() );
|
|
- choicet.addElement( new Tag(0), ANY.getTemplate() );
|
|
+ choicet.addElement( new EXPLICIT.Template(
|
|
+ new Tag(0),
|
|
+ ANY.getTemplate() ));
|
|
}
|
|
|
|
public boolean tagMatch(Tag tag) {
|
|
@@ -164,7 +167,7 @@ public class EncryptedKey implements ASN
|
|
return new EncryptedKey( (EncryptedValue) choice.getValue() );
|
|
} else {
|
|
Assert._assert( choice.getTag().equals(new Tag(0)) );
|
|
- return new EncryptedKey( (ANY) choice.getValue() );
|
|
+ return new EncryptedKey( (ANY) ((EXPLICIT) choice.getValue()).getContent() );
|
|
}
|
|
|
|
} catch(InvalidBERException e) {
|