summaryrefslogtreecommitdiff
path: root/gnu/java/security/pkcs/PKCS7SignedData.java
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2014-10-13 20:00:13 +0100
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2014-10-13 20:00:13 +0100
commit82c3cd04a94740401ccfce52e67dcc2ed588e40d (patch)
tree5f0472b7d1f3e2e9f0a03b6b03e19ee84703c351 /gnu/java/security/pkcs/PKCS7SignedData.java
parent89e04db227083da5489c41ebfd003b140283d4d8 (diff)
downloadclasspath-82c3cd04a94740401ccfce52e67dcc2ed588e40d.tar.gz
Fix majority of warnings in gnu.java.security.* and java.security.*.
Also fixes PR58688 as a consequence. 2014-10-09 Andrew John Hughes <gnu_andrew@member.fsf.org> * NEWS: Updated. * gnu/java/security/util/IntegerUtil.java: Removed. Methods are available in java.lang.Integer. * gnu/java/security/Engine.java: Add missing type parameters to Class, Constructor and Enumeration. * gnu/java/security/OID.java: Add type parameter to Comparable implementation. (compareTo(OID)): Changed from compareTo(Object). Remove now redundant cast. * gnu/java/security/Properties.java: Add type parameters to HashMap. (getProperty(String)): Remove redundant cast. (init()): Use generic implementation of PrivilegedAction. Add properties in a for-each loop to get correct types. * gnu/java/security/action/SetAccessibleAction.java: Use generic implementation of PrivilegedAction. * gnu/java/security/ber/BEREncodingException.java: Add explicit serialVersionUID. * gnu/java/security/der/BitString.java: Add type parameter to Comparable implementation. (compareTo(BitString)): Changed from compareTo(Object). Remove now redundant cast. * gnu/java/security/der/DEREncodingException.java: Add explicit serialVersionUID. * gnu/java/security/der/DERWriter.java: (write(OutputStream,DERValue)): Cast List and Set to correct generic versions. (writeSequence(OutputStream,List)): Add type parameters. Drop now redundant cast. (writeSet(OutputStream,Set)): Likewise. * gnu/java/security/hash/HashFactory.java: (getNames()): Add type parameters. * gnu/java/security/hash/Whirlpool.java: Drop unused byte array. * gnu/java/security/jce/prng/HavalRandomSpi.java: Add explicit serialVersionUID. * gnu/java/security/jce/prng/MD2RandomSpi.java: Likewise. * gnu/java/security/jce/prng/MD4RandomSpi.java: Likewise. * gnu/java/security/jce/prng/MD5RandomSpi.java: Likewise. * gnu/java/security/jce/prng/RipeMD128RandomSpi.java: Likewise. * gnu/java/security/jce/prng/RipeMD160RandomSpi.java: Likewise. * gnu/java/security/jce/prng/SecureRandomAdapter.java: Likewise. Drop unused mdName variable. Remove redundant casts. Add Override annotation to interface implementation. * gnu/java/security/jce/prng/Sha160RandomSpi.java: Add explicit serialVersionUID. * gnu/java/security/jce/prng/Sha256RandomSpi.java: Likewise. * gnu/java/security/jce/prng/Sha384RandomSpi.java: Likewise. * gnu/java/security/jce/prng/Sha512RandomSpi.java: Likewise. * gnu/java/security/jce/prng/TigerRandomSpi.java: Likewise. * gnu/java/security/jce/prng/WhirlpoolRandomSpi.java: Likewise. * gnu/java/security/jce/sig/DSSKeyFactory.java: Add Override annotation to interface implementation. (engineGetKeySpec(Key,Class)): Update return type. Use keySpec.cast to cast newly created instances to the correct type. * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Add missing type parameters and Override annotations. * gnu/java/security/jce/sig/DSSParameters.java: Add Override annotation to interface implementation. (engineGetParameterSpec(Class)): Update return type. Use paramSpec.cast to cast new instances to correct type. (engineGetEncoded()): Add missing type parameter to list. * gnu/java/security/jce/sig/EncodedKeyFactory.java: Add type parameters and Override annotations. (engineGetKeySpec(Key,Class)): Update return type. Use keySpec.cast to cast new instances to correct type. * gnu/java/security/jce/sig/RSAKeyFactory.java: Add @Override annotation. Drop unused variables. (engineGetKeySpec(Key,Class)): Update return type. Use keySpec.cast to cast new instances to correct type. * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Add type parameters. * gnu/java/security/jce/sig/SignatureAdapter.java: Add type parameters and Override annotation. * gnu/java/security/key/IKeyPairGenerator.java: (setup(Map)): Add type parameters. * gnu/java/security/key/KeyPairCodecFactory.java: Add type parameters. * gnu/java/security/key/KeyPairGeneratorFactory.java: Likewise. * gnu/java/security/key/dss/DSSKey.java: Add explicit serialVersionUID. * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Add type parameters and Override annotations. * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: Add type parameters. * gnu/java/security/key/dss/DSSPrivateKey.java: Add explicit serialVersionUID. * gnu/java/security/key/dss/DSSPublicKey.java: Likewise. * gnu/java/security/key/rsa/GnuRSAKey.java: Likewise. * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. * gnu/java/security/key/rsa/GnuRSAPublicKey.java: Likewise. * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Add Override annotations and type parameters. * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Add missing type parameters on ArrayList instances. * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Add Override annotations and type parameters. * gnu/java/security/pkcs/PKCS7SignedData.java: (PKCS7SignedData(BERReader)): Add a type parameter to the algId list and ensure all additions are homogenous. Add other missing type parameters. (PKCS7SignedData(Set,PKCS7Data,Certificate[],X509CRL[],Set)): Add missing type parameters. (getDigestAlgorithms()): Do a deep copy of the set. (getSignerInfos()): Add type parameters. (encode(OutputStream)): Likewise. * gnu/java/security/pkcs/SignerInfo.java: Drop unused variable, count. Add type parameters. (encode(OutputStream)): Include derAuthenticatedAttributes and derUnauthenticatedAttributes in signerInfo. * gnu/java/security/prng/BasePRNG.java: Add type parameters and Override annotations. * gnu/java/security/prng/IRandom.java: Add type parameters. * gnu/java/security/prng/LimitReachedException.java: Add explicit serialVersionUID. * gnu/java/security/prng/MDGenerator.java: Add type parameters and Override annotations. * gnu/java/security/prng/PRNGFactory.java: Add missing type parameters. * gnu/java/security/prng/RandomEvent.java: Add explicit serialVersionUID. * gnu/java/security/provider/CollectionCertStoreImpl.java: Add Override annotation and missing type parameters. * gnu/java/security/provider/Gnu.java: Add explicit serialVersionUID. Parameterise implementation of PrivilegedAction. * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Add missing type parameters. Remove unused qualifierInfos variable. * gnu/java/security/provider/X509CertificateFactory.java: Add Override annotations and type parameters. * gnu/java/security/sig/BaseSignature.java: Likewise. * gnu/java/security/sig/ISignature.java: Add type parameters. * gnu/java/security/sig/SignatureCodecFactory.java: Likewise. * gnu/java/security/sig/SignatureFactory.java: Likewise. * gnu/java/security/sig/dss/DSSSignature.java: Add Override annotations and type parameters. * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: Add type parameter to ArrayList instance. * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java: Remove unused hLen variable. * gnu/java/security/sig/rsa/RSASignatureFactory.java: Add type parameters. * gnu/java/security/util/PRNG.java: (getInstance()): Move initialisation code to shared method, initialiseDelegate. (nextBytes(byte[],int,int)): Call out to initialiseDelegate to re-initialise. (initialiseDelegate(IRandom)): New common method for shared code. * gnu/java/security/util/Sequence.java: Add Override annotation and type parameters. * gnu/java/security/util/SimpleList.java: Add type parameters. * gnu/java/security/x509/GnuPKIExtension.java: Likewise. * gnu/java/security/x509/PolicyNodeImpl.java: Add type parameters and Override annotations. (addAllPolicyQualifiers(Collection)): Qualify reference to addAll. * gnu/java/security/x509/X500DistinguishedName.java: Add type parameters. * gnu/java/security/x509/X509CRL.java: Remove unused variable algParams. Add type parameters and Override annotations. * gnu/java/security/x509/X509CRLEntry.java: Add type parameters and Override annotations. * gnu/java/security/x509/X509CRLSelectorImpl.java: Likewise. * gnu/java/security/x509/X509CertPath.java: Add type parameters. (pkcsEncoded): Renamed from pkcs_encoded. (pkiEncoded): Renamed from pki_encoded. * gnu/java/security/x509/X509CertSelectorImpl.java: Add type parameters and Override annotations. * gnu/java/security/x509/X509Certificate.java: Likewise. * gnu/java/security/x509/ext/BasicConstraints.java: Add type parameters. * gnu/java/security/x509/ext/CertificatePolicies.java: Likewise. * gnu/java/security/x509/ext/PolicyMappings.java: Likewise. * gnu/javax/crypto/cipher/IBlockCipher.java: Add type parameters. * gnu/javax/crypto/jce/prng/FortunaImpl.java: (engineSetSeed(byte[])): Add cast for singletonMap invocation. * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java: Add type parameters. * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java: Likewise. * gnu/javax/crypto/mac/IMac.java: Likewise. * gnu/javax/crypto/mode/BaseMode.java: Add Override annotations and type parameters. * gnu/javax/crypto/mode/EAX.java: Add Override annotations, type parameters and casts for singletonMap invocations. * gnu/javax/crypto/prng/Fortuna.java: Likewise. * gnu/javax/net/ssl/Session.java: Add Override annotations and type parameters. * gnu/javax/net/ssl/provider/AbstractHandshake.java: Fix type parameters. * gnu/javax/net/ssl/provider/SSLRandom.java: Add Override annotations and type parameters. * gnu/javax/net/ssl/provider/TLSRandom.java: Likewise. (hmacSHA): Renamed from hmac_sha. (hmacMD5): Renamed from hmac_md5. * gnu/javax/net/ssl/provider/Util.java: (transform(Object,Class,String,Object[])): Use a type parameter T rather than Object. * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java: Add type parameters. * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java: Likewise. * gnu/javax/security/auth/callback/AWTCallbackHandler.java: Replace calls to deprecated show() with setVisible(true). (ACTION_NO): Remove unused variable. (ACTION_YES): Likewise. * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java: Add type parameters. * gnu/javax/security/auth/callback/GnuCallbacks.java: Add explicit serialVersionUID. Convert PrivilegedAction implementation to parameterised version. * gnu/javax/security/auth/login/ConfigFileParser.java: Add type parameters. * gnu/javax/security/auth/login/GnuConfiguration.java: Likewise. Fix typo. * java/security/AccessControlContext.java: Add type parameters. * java/security/AllPermission.java: Add Override annotations. (AllPermissionCollection.elements()): Add type parameter to return type and return appropriately typed enumerations. * java/security/BasicPermission.java: Add type parameters and Override annotations. * java/security/CodeSource.java: Likewise. * java/security/DummySignature.java: Add Override annotations. * java/security/Identity.java: Add type parameters. * java/security/IntersectingDomainCombiner.java: Likewise. * java/security/KeyPairGenerator.java: Add Override annotations. * java/security/Permissions.java: Add type parameters and Override annotations. (elements()): Rename main_enum and sub_enum to mainEnum and subEnum respectively. * java/security/Policy.java: Add type parameters. * java/security/SecureRandom.java: Add missing type parameter. Remove unused imports. * java/security/Security.java: Add type parameters. Fix mis-spelling of 'query'. * java/security/SignatureSpi.java: Add Override annotation. * java/security/UnresolvedPermission.java: Add Override annotations and type parameters. (elements()): Rename main_enum and sub_enum to mainEnum and subEnum respectively. * java/security/cert/CertPath.java: Add type parameters. * java/security/cert/CertPathValidator.java: (getDefaultType()): Use GetSecurityPropertyAction rather than implementing PrivilegedAction locally. * java/security/cert/CertStore.java: (getDefaultType()): Use GetSecurityPropertyAction rather than implementing PrivilegedAction locally. * java/security/cert/CollectionCertStoreParameters.java: Add type parameters and Override annotations. * java/security/cert/PKIXParameters.java: Add type parameters. * java/security/cert/X509CRLSelector.java: Add type parameters. (getIssuerNames()): Return a deep copy. * java/security/cert/X509CertSelector.java: Add type parameters. * java/util/Properties.java: Add type parameters. (stringPropertyNames()): Implemented. * javax/naming/directory/BasicAttribute.java: Add Override annotations and missing type parameter. * javax/security/auth/AuthPermission.java: Add explicit serialVersionUID. * javax/security/auth/DestroyFailedException.java: Likewise. * javax/security/auth/PrivateCredentialPermission.java: Add type parameters. (equals(Object)): Use thatPrincipals instead of that_principals. (implies(Permission)): Likewise. (CredOwner): Add explicit serialVersionUID. * javax/security/auth/RefreshFailedException.java: Add explicit serialVersionUID. * javax/security/auth/Subject.java: Add type parameters and Override annotations. * javax/security/auth/SubjectDomainCombiner.java: Add type parameters. * javax/security/auth/callback/ChoiceCallback.java: Add explicit serialVersionUID. * javax/security/auth/callback/ConfirmationCallback.java: Likewise. * javax/security/auth/callback/LanguageCallback.java: Likewise. * javax/security/auth/callback/NameCallback.java: Likewise. * javax/security/auth/callback/PasswordCallback.java: Likewise. * javax/security/auth/callback/TextInputCallback.java: Likewise. * javax/security/auth/callback/TextOutputCallback.java: Likewise. * javax/security/auth/callback/UnsupportedCallbackException.java: Likewise. * javax/security/auth/kerberos/DelegationPermission.java: Re-enable explicit serialVersionUID. Add Override annotations and type parameters. * javax/security/auth/kerberos/KerberosPrincipal.java: Re-enable explicit serialVersionUID. * javax/security/auth/kerberos/KerberosTicket.java: Suppress warning about unused asn1Encoding variable. * javax/security/auth/kerberos/KeyImpl.java: Re-enable explicit serialVersionUID. * javax/security/auth/kerberos/ServicePermission.java: Re-enable explicit serialVersionUID. Add Override annotations and type parameters. * javax/security/auth/login/AppConfigurationEntry.java: Add type parameters. * javax/security/auth/login/Configuration.java: Likewise. * javax/security/auth/login/LoginContext.java: Likewise. * javax/security/auth/x500/X500Principal.java: Likewise. (fixed): Remove unused variable. * javax/security/cert/CertificateEncodingException.java: Add explicit serialVersionUID. * javax/security/cert/CertificateException.java: Likewise. * javax/security/cert/CertificateExpiredException.java: Likewise. * javax/security/cert/CertificateNotYetValidException.java: Likewise. * javax/security/cert/CertificateParsingException.java: Likewise. * javax/security/sasl/AuthenticationException.java: Likewise. * javax/security/sasl/RealmCallback.java: Likewise. * javax/security/sasl/RealmChoiceCallback.java: Likewise. * javax/security/sasl/Sasl.java: Add type parameters. * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
Diffstat (limited to 'gnu/java/security/pkcs/PKCS7SignedData.java')
-rw-r--r--gnu/java/security/pkcs/PKCS7SignedData.java81
1 files changed, 49 insertions, 32 deletions
diff --git a/gnu/java/security/pkcs/PKCS7SignedData.java b/gnu/java/security/pkcs/PKCS7SignedData.java
index e479d2e8c..eccd69141 100644
--- a/gnu/java/security/pkcs/PKCS7SignedData.java
+++ b/gnu/java/security/pkcs/PKCS7SignedData.java
@@ -1,5 +1,5 @@
/* PKCS7SignedData.java -- reader/writer for PKCS#7 signedData objects
- Copyright (C) 2004, 2005, 2006, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2006, 2010, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -53,6 +53,8 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.lang.reflect.Method;
+import java.lang.reflect.InvocationTargetException;
import java.math.BigInteger;
import java.security.cert.CRL;
import java.security.cert.CRLException;
@@ -84,12 +86,12 @@ public class PKCS7SignedData
public static final OID PKCS7_SIGNED_DATA = new OID("1.2.840.113549.1.7.2");
private BigInteger version;
- private Set digestAlgorithms;
+ private Set<DERValue> digestAlgorithms;
private OID contentType;
private byte[] content;
private Certificate[] certificates;
private CRL[] crls;
- private Set signerInfos;
+ private Set<SignerInfo> signerInfos;
public PKCS7SignedData(InputStream in)
throws CRLException, CertificateException, IOException
@@ -183,7 +185,7 @@ public class PKCS7SignedData
if (Configuration.DEBUG)
log.fine(" Version: " + version);
- digestAlgorithms = new HashSet();
+ digestAlgorithms = new HashSet<DERValue>();
val = ber.read();
if (!val.isConstructed())
throw new BEREncodingException("malformed DigestAlgorithmIdentifiers");
@@ -200,20 +202,17 @@ public class PKCS7SignedData
log.fine(" AlgorithmIdentifier: " + val2);
count += val2.getEncodedLength();
val2 = ber.read();
- if (val2.getTag() != BER.OBJECT_IDENTIFIER)
+ if (val2.getTag() != DER.OBJECT_IDENTIFIER)
throw new BEREncodingException("malformed AlgorithmIdentifier");
if (Configuration.DEBUG)
log.fine(" digestAlgorithmIdentifiers OID: " + val2.getValue());
- List algId = new ArrayList(2);
- algId.add(val2.getValue());
+ List<DERValue> algId = new ArrayList<DERValue>(2);
+ algId.add(val2);
val2 = ber.read();
if (val2 != BER.END_OF_SEQUENCE)
{
count += val2.getEncodedLength();
- if (val2.getTag() == BER.NULL)
- algId.add(null);
- else
- algId.add(val2.getEncoded());
+ algId.add(val2);
if (val2.isConstructed())
ber.skip(val2.getLength());
@@ -222,15 +221,15 @@ public class PKCS7SignedData
val2 = ber.read();
}
else
- algId.add(null);
+ algId.add(new DERValue(DER.NULL, null));
if (Configuration.DEBUG)
{
log.fine(" digestAlgorithmIdentifiers params: ");
- log.fine(Util.dumpString((byte[]) algId.get(1),
+ log.fine(Util.dumpString(algId.get(1).getEncoded(),
" digestAlgorithmIdentifiers params: "));
}
- digestAlgorithms.add(algId);
+ digestAlgorithms.add(new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, algId));
}
val = ber.read();
@@ -270,7 +269,7 @@ public class PKCS7SignedData
log.fine(" ExtendedCertificatesAndCertificates: " + val);
count = 0;
val2 = ber.read();
- List certs = new LinkedList();
+ List<Certificate> certs = new LinkedList<Certificate>();
while (val2 != BER.END_OF_SEQUENCE &&
(val.getLength() > 0 && val.getLength() > count))
{
@@ -284,7 +283,7 @@ public class PKCS7SignedData
if (BERValue.isIndefinite(val) || val.getLength() > count)
val2 = ber.read();
}
- certificates = (Certificate[]) certs.toArray(new Certificate[certs.size()]);
+ certificates = certs.toArray(new Certificate[certs.size()]);
val = ber.read();
}
@@ -296,7 +295,7 @@ public class PKCS7SignedData
log.fine(" CertificateRevocationLists: " + val);
count = 0;
val2 = ber.read();
- List crls = new LinkedList();
+ List<CRL> crls = new LinkedList<CRL>();
while (val2 != BER.END_OF_SEQUENCE &&
(val.getLength() > 0 && val.getLength() > count))
{
@@ -309,11 +308,11 @@ public class PKCS7SignedData
if (BERValue.isIndefinite(val) || val.getLength() > count)
val2 = ber.read();
}
- this.crls = (CRL[]) crls.toArray(new CRL[crls.size()]);
+ this.crls = crls.toArray(new CRL[crls.size()]);
val = ber.read();
}
- signerInfos = new HashSet();
+ signerInfos = new HashSet<SignerInfo>();
if (!val.isConstructed())
throw new BEREncodingException("malformed SignerInfos");
if (Configuration.DEBUG)
@@ -349,9 +348,9 @@ public class PKCS7SignedData
* the data referenced by this <code>PKCS7SignedData</code>
* instance.
*/
- public PKCS7SignedData(Set digestAlgorithms, PKCS7Data data,
+ public PKCS7SignedData(Set<DERValue> digestAlgorithms, PKCS7Data data,
Certificate[] certificates, X509CRL[] crls,
- Set signerInfos)
+ Set<SignerInfo> signerInfos)
{
super();
@@ -385,16 +384,35 @@ public class PKCS7SignedData
return (content != null ? (byte[]) content.clone() : null);
}
- public Set getDigestAlgorithms()
+ public Set<DERValue> getDigestAlgorithms()
{
- // FIXME copy contents too, they are mutable!!!
- return Collections.unmodifiableSet(digestAlgorithms);
+ Set<DERValue> daClone = new HashSet<DERValue>(digestAlgorithms.size());
+ for (DERValue dv : digestAlgorithms)
+ {
+ Object clone = null;
+ Object obj = dv.getValue();
+ if (obj != null && obj instanceof Cloneable)
+ {
+ try
+ {
+ Method m = obj.getClass().getDeclaredMethod("clone");
+ m.setAccessible(true);
+ clone = m.invoke(obj);
+ }
+ catch (NoSuchMethodException e) { /* Impossible */ }
+ catch (IllegalAccessException e) { /* Ignored */ }
+ catch (InvocationTargetException e) { /* Ignored */ }
+ }
+ if (clone == null) clone = obj;
+ daClone.add(new DERValue(dv.getTag(), dv.getLength(), clone, dv.getEncoded()));
+ }
+ return Collections.unmodifiableSet(daClone);
}
- public Set getSignerInfos()
+ public Set<SignerInfo> getSignerInfos()
{
- Set copy = new HashSet();
- for (Iterator it = signerInfos.iterator(); it.hasNext(); )
+ Set<SignerInfo> copy = new HashSet<SignerInfo>();
+ for (Iterator<SignerInfo> it = signerInfos.iterator(); it.hasNext(); )
copy.add(it.next());
return Collections.unmodifiableSet(copy);
}
@@ -420,7 +438,7 @@ public class PKCS7SignedData
DERValue derContentType = new DERValue(DER.OBJECT_IDENTIFIER,
PKCS7Data.PKCS7_DATA);
- ArrayList contentInfo = new ArrayList(2);
+ ArrayList<Object> contentInfo = new ArrayList<Object>(2);
contentInfo.add(derContentType);
if (content == null)
contentInfo.add(new DERValue(DER.NULL, null));
@@ -453,9 +471,8 @@ public class PKCS7SignedData
}
baos.reset();
- for (Iterator it = signerInfos.iterator(); it.hasNext();)
+ for (SignerInfo signerInfo : signerInfos)
{
- SignerInfo signerInfo = (SignerInfo) it.next();
signerInfo.encode(baos);
}
baos.flush();
@@ -463,7 +480,7 @@ public class PKCS7SignedData
DERValue derSignerInfos = new DERValue(DER.CONSTRUCTED | DER.SET,
b3.length, b3, null);
- ArrayList signedData = new ArrayList(6);
+ ArrayList<DERValue> signedData = new ArrayList<DERValue>(6);
signedData.add(derVersion);
signedData.add(derDigestAlgorithms);
signedData.add(derContentInfo);
@@ -475,7 +492,7 @@ public class PKCS7SignedData
DERValue derSignedData = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE,
signedData);
// now the outer contents
- ArrayList outer = new ArrayList(3);
+ ArrayList<DERValue> outer = new ArrayList<DERValue>(3);
outer.add(new DERValue(DER.OBJECT_IDENTIFIER, PKCS7_SIGNED_DATA));
outer.add(new DERValue(DER.CONTEXT | 0, null));
outer.add(derSignedData);