diff options
author | Kenny Root <kroot@google.com> | 2013-05-08 13:33:48 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-05-08 13:33:48 -0700 |
commit | 540ea3c59c88967a94b68f9970ba2d2acdbee380 (patch) | |
tree | eaf657157ea753e46e022e5e8efb4ed86000e229 | |
parent | be5bea536daf75b310c9f36fa81b3250bf62d647 (diff) | |
parent | 99e1ae90e2bbdaca696da6d6052de90cf74824dc (diff) | |
download | libcore-540ea3c59c88967a94b68f9970ba2d2acdbee380.zip libcore-540ea3c59c88967a94b68f9970ba2d2acdbee380.tar.gz libcore-540ea3c59c88967a94b68f9970ba2d2acdbee380.tar.bz2 |
am 99e1ae90: Merge "NativeCrypto: Fix a lot of random doc bugs"
* commit '99e1ae90e2bbdaca696da6d6052de90cf74824dc':
NativeCrypto: Fix a lot of random doc bugs
25 files changed, 37 insertions, 69 deletions
diff --git a/crypto/src/main/java/org/conscrypt/AbstractSessionContext.java b/crypto/src/main/java/org/conscrypt/AbstractSessionContext.java index 8f04c6b..4aed70c 100644 --- a/crypto/src/main/java/org/conscrypt/AbstractSessionContext.java +++ b/crypto/src/main/java/org/conscrypt/AbstractSessionContext.java @@ -30,7 +30,6 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.NoSuchElementException; - import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSessionContext; @@ -83,7 +82,7 @@ abstract class AbstractSessionContext implements SSLSessionContext { } } - public final Enumeration getIds() { + public final Enumeration<byte[]> getIds() { final Iterator<SSLSession> i = sessionIterator(); return new Enumeration<byte[]>() { private SSLSession next; diff --git a/crypto/src/main/java/org/conscrypt/AlertProtocol.java b/crypto/src/main/java/org/conscrypt/AlertProtocol.java index e7509f3..0330e79 100644 --- a/crypto/src/main/java/org/conscrypt/AlertProtocol.java +++ b/crypto/src/main/java/org/conscrypt/AlertProtocol.java @@ -155,9 +155,8 @@ public class AlertProtocol { * of the income TSL record: if it contains alert message from another * peer, or if warning alert occured during the processing of the * message and this warning should be sent to another peer. - * @param level: alert level code - * @param description: alert description code - * @return + * @param level alert level code + * @param description alert description code */ protected void alert(byte level, byte description) { if (logger != null) { diff --git a/crypto/src/main/java/org/conscrypt/CertificateMessage.java b/crypto/src/main/java/org/conscrypt/CertificateMessage.java index 16f64a0..0c0e092 100644 --- a/crypto/src/main/java/org/conscrypt/CertificateMessage.java +++ b/crypto/src/main/java/org/conscrypt/CertificateMessage.java @@ -18,7 +18,6 @@ package org.conscrypt; import java.io.IOException; -import java.security.cert.Certificate; import java.security.cert.CertificateEncodingException; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; @@ -158,8 +157,6 @@ public class CertificateMessage extends Message { /** * Returns message type - * - * @return */ @Override public int getType() { diff --git a/crypto/src/main/java/org/conscrypt/CertificateRequest.java b/crypto/src/main/java/org/conscrypt/CertificateRequest.java index 2f984da..6d08cc2 100644 --- a/crypto/src/main/java/org/conscrypt/CertificateRequest.java +++ b/crypto/src/main/java/org/conscrypt/CertificateRequest.java @@ -132,8 +132,6 @@ public class CertificateRequest extends Message { /** * Returns message type - * - * @return */ @Override public int getType() { diff --git a/crypto/src/main/java/org/conscrypt/CertificateVerify.java b/crypto/src/main/java/org/conscrypt/CertificateVerify.java index 2be746a..8ba394a 100644 --- a/crypto/src/main/java/org/conscrypt/CertificateVerify.java +++ b/crypto/src/main/java/org/conscrypt/CertificateVerify.java @@ -82,8 +82,6 @@ public class CertificateVerify extends Message { /** * Returns message type - * - * @return */ @Override public int getType() { diff --git a/crypto/src/main/java/org/conscrypt/ChainStrengthAnalyzer.java b/crypto/src/main/java/org/conscrypt/ChainStrengthAnalyzer.java index 660e47a..dc4f9b7 100644 --- a/crypto/src/main/java/org/conscrypt/ChainStrengthAnalyzer.java +++ b/crypto/src/main/java/org/conscrypt/ChainStrengthAnalyzer.java @@ -19,7 +19,6 @@ package org.conscrypt; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.security.interfaces.RSAPublicKey; -import java.util.List; public final class ChainStrengthAnalyzer { diff --git a/crypto/src/main/java/org/conscrypt/CipherSuite.java b/crypto/src/main/java/org/conscrypt/CipherSuite.java index 555ac75..6d2a3e8 100644 --- a/crypto/src/main/java/org/conscrypt/CipherSuite.java +++ b/crypto/src/main/java/org/conscrypt/CipherSuite.java @@ -971,7 +971,6 @@ public class CipherSuite { /** * Returns true if cipher suite is anonymous - * @return */ public boolean isAnonymous() { if (keyExchange == KEY_EXCHANGE_DH_anon @@ -984,7 +983,6 @@ public class CipherSuite { /** * Returns array of supported CipherSuites - * @return */ public static CipherSuite[] getSupported() { return SUPPORTED_CIPHER_SUITES; @@ -992,7 +990,6 @@ public class CipherSuite { /** * Returns array of supported cipher suites names - * @return */ public static String[] getSupportedCipherSuiteNames() { return SUPPORTED_CIPHER_SUITE_NAMES.clone(); @@ -1000,7 +997,6 @@ public class CipherSuite { /** * Returns cipher suite name - * @return */ public String getName() { return name; @@ -1008,7 +1004,6 @@ public class CipherSuite { /** * Returns cipher suite code as byte array - * @return */ public byte[] toBytes() { return cipherSuiteCode; @@ -1024,7 +1019,6 @@ public class CipherSuite { /** * Returns cipher algorithm name - * @return */ public String getBulkEncryptionAlgorithm() { return cipherName; @@ -1032,7 +1026,6 @@ public class CipherSuite { /** * Returns cipher block size - * @return */ public int getBlockSize() { return blockSize; @@ -1040,7 +1033,6 @@ public class CipherSuite { /** * Returns MAC algorithm name - * @return */ public String getHmacName() { return hmacName; @@ -1048,7 +1040,6 @@ public class CipherSuite { /** * Returns hash algorithm name - * @return */ public String getHashName() { return hashName; @@ -1056,7 +1047,6 @@ public class CipherSuite { /** * Returns hash size - * @return */ public int getMACLength() { return hashSize; @@ -1064,7 +1054,6 @@ public class CipherSuite { /** * Indicates whether this cipher suite is exportable - * @return */ public boolean isExportable() { return isExportable; diff --git a/crypto/src/main/java/org/conscrypt/ClientHandshakeImpl.java b/crypto/src/main/java/org/conscrypt/ClientHandshakeImpl.java index 00eb4a9..e22024f 100644 --- a/crypto/src/main/java/org/conscrypt/ClientHandshakeImpl.java +++ b/crypto/src/main/java/org/conscrypt/ClientHandshakeImpl.java @@ -322,7 +322,7 @@ public class ClientHandshakeImpl extends HandshakeProtocol { * Processes SSLv2 Hello message. * SSLv2 client hello message message is an unexpected message * for client side of handshake protocol. - * @ see TLS 1.0 spec., E.1. Version 2 client hello + * See TLS 1.0 spec., E.1. Version 2 client hello * @param bytes */ @Override diff --git a/crypto/src/main/java/org/conscrypt/ClientHello.java b/crypto/src/main/java/org/conscrypt/ClientHello.java index 26bfead..2bf9f5f 100644 --- a/crypto/src/main/java/org/conscrypt/ClientHello.java +++ b/crypto/src/main/java/org/conscrypt/ClientHello.java @@ -199,7 +199,6 @@ public class ClientHello extends Message { /** * Returns message type - * @return */ @Override public int getType() { diff --git a/crypto/src/main/java/org/conscrypt/ClientKeyExchange.java b/crypto/src/main/java/org/conscrypt/ClientKeyExchange.java index 2bee607..5cad36b 100644 --- a/crypto/src/main/java/org/conscrypt/ClientKeyExchange.java +++ b/crypto/src/main/java/org/conscrypt/ClientKeyExchange.java @@ -133,7 +133,6 @@ public class ClientKeyExchange extends Message { /** * Returns message type - * @return */ @Override public int getType() { @@ -142,7 +141,6 @@ public class ClientKeyExchange extends Message { /** * Returns true if the message is empty (in case of implicit DH Yc) - * @return */ public boolean isEmpty() { return (exchange_keys.length == 0); diff --git a/crypto/src/main/java/org/conscrypt/ConnectionStateSSLv3.java b/crypto/src/main/java/org/conscrypt/ConnectionStateSSLv3.java index 4ff402f..84b8483 100644 --- a/crypto/src/main/java/org/conscrypt/ConnectionStateSSLv3.java +++ b/crypto/src/main/java/org/conscrypt/ConnectionStateSSLv3.java @@ -52,7 +52,7 @@ public class ConnectionStateSSLv3 extends ConnectionState { /** * Creates the instance of SSL v3 Connection State. All of the * security parameters are provided by session object. - * @param session: the sessin object which incapsulates + * @param session the sessin object which incapsulates * all of the security parameters established by handshake protocol. * The key calculation for the state is done according * to the SSL v3 Protocol specification. diff --git a/crypto/src/main/java/org/conscrypt/ConnectionStateTLS.java b/crypto/src/main/java/org/conscrypt/ConnectionStateTLS.java index d49ad0a..a4d9de8 100644 --- a/crypto/src/main/java/org/conscrypt/ConnectionStateTLS.java +++ b/crypto/src/main/java/org/conscrypt/ConnectionStateTLS.java @@ -74,7 +74,7 @@ public class ConnectionStateTLS extends ConnectionState { /** * Creates the instance of TLS v1 Connection State. All of the * security parameters are provided by session object. - * @param session: the sessin object which incapsulates + * @param session the sessin object which incapsulates * all of the security parameters established by handshake protocol. * The key calculation for the state is done according * to the TLS v 1.0 Protocol specification. diff --git a/crypto/src/main/java/org/conscrypt/DigitalSignature.java b/crypto/src/main/java/org/conscrypt/DigitalSignature.java index 5b59542..04886c5 100644 --- a/crypto/src/main/java/org/conscrypt/DigitalSignature.java +++ b/crypto/src/main/java/org/conscrypt/DigitalSignature.java @@ -66,17 +66,17 @@ public class DigitalSignature { /** * Create Signature type - * @param keyExchange + * @param algorithm the key algorithm used for the signature */ - public DigitalSignature(String authType) { + public DigitalSignature(String algorithm) { try { sha = MessageDigest.getInstance("SHA-1"); - if ("RSA".equals(authType)) { + if ("RSA".equals(algorithm)) { md5 = MessageDigest.getInstance("MD5"); cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); signature = null; - } else if ("DSA".equals(authType)) { + } else if ("DSA".equals(algorithm)) { // SignatureAlgorithm is dsa signature = Signature.getInstance("NONEwithDSA"); cipher = null; diff --git a/crypto/src/main/java/org/conscrypt/Finished.java b/crypto/src/main/java/org/conscrypt/Finished.java index 2c92d96..e0b7eaa 100644 --- a/crypto/src/main/java/org/conscrypt/Finished.java +++ b/crypto/src/main/java/org/conscrypt/Finished.java @@ -63,7 +63,6 @@ public class Finished extends Message { /** * Returns message type - * @return */ @Override public int getType() { @@ -72,7 +71,6 @@ public class Finished extends Message { /** * Returns verify data - * @return */ public byte[] getData() { return data; diff --git a/crypto/src/main/java/org/conscrypt/HandshakeProtocol.java b/crypto/src/main/java/org/conscrypt/HandshakeProtocol.java index 6770c9d..73d00ae 100644 --- a/crypto/src/main/java/org/conscrypt/HandshakeProtocol.java +++ b/crypto/src/main/java/org/conscrypt/HandshakeProtocol.java @@ -180,7 +180,6 @@ public abstract class HandshakeProtocol { /** * Start session negotiation - * @param session */ public abstract void start(); @@ -198,7 +197,6 @@ public abstract class HandshakeProtocol { /** * Returns handshake status - * @return */ public SSLEngineResult.HandshakeStatus getStatus() { if (io_stream.hasData() || needSendCCSpec || @@ -260,8 +258,7 @@ public abstract class HandshakeProtocol { public abstract void unwrapSSLv2(byte[] bytes); /** - * Proceses outbound handshake messages - * @return + * Processes outbound handshake messages */ public byte[] wrap() { if (delegatedTaskErr != null) { diff --git a/crypto/src/main/java/org/conscrypt/KeyManagerFactoryImpl.java b/crypto/src/main/java/org/conscrypt/KeyManagerFactoryImpl.java index a715890..3ad9be9 100644 --- a/crypto/src/main/java/org/conscrypt/KeyManagerFactoryImpl.java +++ b/crypto/src/main/java/org/conscrypt/KeyManagerFactoryImpl.java @@ -33,7 +33,7 @@ import org.conscrypt.util.EmptyArray; /** * KeyManagerFactory implementation. - * @see javax.net.ssl.KeyManagerFactorySpi + * @see KeyManagerFactorySpi */ public class KeyManagerFactoryImpl extends KeyManagerFactorySpi { @@ -44,11 +44,10 @@ public class KeyManagerFactoryImpl extends KeyManagerFactorySpi { private char[] pwd; /** - * @see javax.net.ssl.KeyManagerFactorySpi#engineInit(KeyStore ks, char[] - * password) + * @see KeyManagerFactorySpi#engineInit(KeyStore ks, char[] password) */ @Override - public void engineInit(KeyStore ks, char[] password) + protected void engineInit(KeyStore ks, char[] password) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException { if (ks != null) { @@ -93,11 +92,10 @@ public class KeyManagerFactoryImpl extends KeyManagerFactorySpi { } /** - * @see javax.net.ssl.KeyManagerFactorySpi#engineInit(ManagerFactoryParameters - * spec) + * @see KeyManagerFactorySpi#engineInit(ManagerFactoryParameters spec) */ @Override - public void engineInit(ManagerFactoryParameters spec) + protected void engineInit(ManagerFactoryParameters spec) throws InvalidAlgorithmParameterException { throw new InvalidAlgorithmParameterException( "ManagerFactoryParameters not supported"); @@ -105,10 +103,10 @@ public class KeyManagerFactoryImpl extends KeyManagerFactorySpi { } /** - * @see javax.net.ssl.KeyManagerFactorySpi#engineGetKeyManagers() + * @see KeyManagerFactorySpi#engineGetKeyManagers() */ @Override - public KeyManager[] engineGetKeyManagers() { + protected KeyManager[] engineGetKeyManagers() { if (keyStore == null) { throw new IllegalStateException("KeyManagerFactory is not initialized"); } diff --git a/crypto/src/main/java/org/conscrypt/KeyManagerImpl.java b/crypto/src/main/java/org/conscrypt/KeyManagerImpl.java index efcd26d..ed37fd6 100644 --- a/crypto/src/main/java/org/conscrypt/KeyManagerImpl.java +++ b/crypto/src/main/java/org/conscrypt/KeyManagerImpl.java @@ -190,7 +190,7 @@ public class KeyManagerImpl extends X509ExtendedKeyManager { continue; } // check that a certificate in the chain was issued by one of the specified issuers - loop: for (Certificate certFromChain : chain) { + for (Certificate certFromChain : chain) { if (!(certFromChain instanceof X509Certificate)) { // skip non-X509Certificates continue; diff --git a/crypto/src/main/java/org/conscrypt/Message.java b/crypto/src/main/java/org/conscrypt/Message.java index affe9dc..3b932d0 100644 --- a/crypto/src/main/java/org/conscrypt/Message.java +++ b/crypto/src/main/java/org/conscrypt/Message.java @@ -33,13 +33,11 @@ public abstract class Message { /** * Returns message type - * @return */ abstract int getType(); /** * Returns message length - * @return */ public int length() { return length; diff --git a/crypto/src/main/java/org/conscrypt/NativeCrypto.java b/crypto/src/main/java/org/conscrypt/NativeCrypto.java index 48729a2..62fa9de 100644 --- a/crypto/src/main/java/org/conscrypt/NativeCrypto.java +++ b/crypto/src/main/java/org/conscrypt/NativeCrypto.java @@ -20,7 +20,6 @@ import java.io.FileDescriptor; import java.io.IOException; import java.io.OutputStream; import java.net.SocketTimeoutException; -import java.nio.ByteOrder; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SignatureException; diff --git a/crypto/src/main/java/org/conscrypt/OpenSSLECPrivateKey.java b/crypto/src/main/java/org/conscrypt/OpenSSLECPrivateKey.java index b30769f..a4b41db 100644 --- a/crypto/src/main/java/org/conscrypt/OpenSSLECPrivateKey.java +++ b/crypto/src/main/java/org/conscrypt/OpenSSLECPrivateKey.java @@ -21,7 +21,6 @@ import java.io.NotSerializableException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.math.BigInteger; -import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.interfaces.ECPrivateKey; import java.security.spec.ECParameterSpec; diff --git a/crypto/src/main/java/org/conscrypt/OpenSSLProvider.java b/crypto/src/main/java/org/conscrypt/OpenSSLProvider.java index e58381e..7314478 100644 --- a/crypto/src/main/java/org/conscrypt/OpenSSLProvider.java +++ b/crypto/src/main/java/org/conscrypt/OpenSSLProvider.java @@ -29,6 +29,8 @@ import java.security.Provider; * </ul> */ public final class OpenSSLProvider extends Provider { + private static final long serialVersionUID = 2996752495318905136L; + public static final String PROVIDER_NAME = "AndroidOpenSSL"; public OpenSSLProvider() { diff --git a/crypto/src/main/java/org/conscrypt/OpenSSLServerSocketImpl.java b/crypto/src/main/java/org/conscrypt/OpenSSLServerSocketImpl.java index 5fa6c8f..4c1f709 100644 --- a/crypto/src/main/java/org/conscrypt/OpenSSLServerSocketImpl.java +++ b/crypto/src/main/java/org/conscrypt/OpenSSLServerSocketImpl.java @@ -233,7 +233,7 @@ public class OpenSSLServerSocketImpl extends javax.net.ssl.SSLServerSocket { + "to support the enabled cipher suites."); } - private boolean checkForPrivateKey(String keyType, Class keyClass) { + private boolean checkForPrivateKey(String keyType, Class<?> keyClass) { String alias = sslParameters.getKeyManager().chooseServerAlias(keyType, null, null); if (alias == null) { return false; diff --git a/crypto/src/main/java/org/conscrypt/OpenSSLSessionImpl.java b/crypto/src/main/java/org/conscrypt/OpenSSLSessionImpl.java index 3b0d173..3b7328d 100644 --- a/crypto/src/main/java/org/conscrypt/OpenSSLSessionImpl.java +++ b/crypto/src/main/java/org/conscrypt/OpenSSLSessionImpl.java @@ -193,9 +193,9 @@ public class OpenSSLSessionImpl implements SSLSession { * @return an array of X509 certificates (the peer's one first and then * eventually that of the certification authority) or null if no * certificate were used during the SSL connection. - * @throws <code>SSLPeerUnverifiedCertificateException</code> if either a - * not X509 certificate was used (i.e. Kerberos certificates) or the - * peer could not be verified. + * @throws SSLPeerUnverifiedException if either a non-X.509 certificate + * was used (i.e. Kerberos certificates) or the peer could not + * be verified. */ public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws SSLPeerUnverifiedException { @@ -240,9 +240,9 @@ public class OpenSSLSessionImpl implements SSLSession { * @return an array of X509 certificates (the peer's one first and then * eventually that of the certification authority) or null if no * certificate were used during the SSL connection. - * @throws <code>SSLPeerUnverifiedException</code> if either a not X509 - * certificate was used (i.e. Kerberos certificates) or the peer - * could not be verified. + * @throws SSLPeerUnverifiedException if either a non-X.509 certificate + * was used (i.e. Kerberos certificates) or the peer could not + * be verified. */ public Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException { checkPeerCertificatesPresent(); @@ -263,9 +263,8 @@ public class OpenSSLSessionImpl implements SSLSession { * handshake phase is returned by this method. * @return a X500Principal of the last certificate for X509-based * cipher suites. - * @throws <code>SSLPeerUnverifiedException</code> if either a not X509 - * certificate was used (i.e. Kerberos certificates) or the - * peer does not exist. + * @throws SSLPeerUnverifiedException if either a non-X.509 certificate + * was used (i.e. Kerberos certificates) or the peer does not exist. * */ public Principal getPeerPrincipal() throws SSLPeerUnverifiedException { @@ -371,7 +370,7 @@ public class OpenSSLSessionImpl implements SSLSession { * @param name the name of the binding to find. * @return the value bound to that name, or null if the binding does not * exist. - * @throws <code>IllegalArgumentException</code> if the argument is null. + * @throws IllegalArgumentException if the argument is null. */ public Object getValue(String name) { if (name == null) { @@ -401,8 +400,7 @@ public class OpenSSLSessionImpl implements SSLSession { * accepted!) * @param value data object that shall be bound to * name. - * @throws <code>IllegalArgumentException</code> if one or both - * argument(s) is null. + * @throws IllegalArgumentException if one or both argument(s) is null. */ public void putValue(String name, Object value) { if (name == null || value == null) { @@ -428,7 +426,7 @@ public class OpenSSLSessionImpl implements SSLSession { * * @param name the name of the link (no null are * accepted!) - * @throws <code>IllegalArgumentException</code> if the argument is null. + * @throws IllegalArgumentException if the argument is null. */ public void removeValue(String name) { if (name == null) { diff --git a/crypto/src/main/java/org/conscrypt/OpenSSLSignatureRawRSA.java b/crypto/src/main/java/org/conscrypt/OpenSSLSignatureRawRSA.java index 647f24d..9c4e4ad 100644 --- a/crypto/src/main/java/org/conscrypt/OpenSSLSignatureRawRSA.java +++ b/crypto/src/main/java/org/conscrypt/OpenSSLSignatureRawRSA.java @@ -26,7 +26,6 @@ import java.security.SignatureException; import java.security.interfaces.RSAPrivateCrtKey; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; -import java.util.Arrays; /** * Implements the JDK Signature interface needed for RAW RSA signature diff --git a/crypto/src/main/java/org/conscrypt/OpenSSLX509Certificate.java b/crypto/src/main/java/org/conscrypt/OpenSSLX509Certificate.java index 0a0615f..b1cd986 100644 --- a/crypto/src/main/java/org/conscrypt/OpenSSLX509Certificate.java +++ b/crypto/src/main/java/org/conscrypt/OpenSSLX509Certificate.java @@ -58,6 +58,7 @@ public class OpenSSLX509Certificate extends X509Certificate { public static OpenSSLX509Certificate fromX509DerInputStream(InputStream is) throws ParsingException { + @SuppressWarnings("resource") final OpenSSLBIOInputStream bis = new OpenSSLBIOInputStream(is); try { @@ -83,6 +84,7 @@ public class OpenSSLX509Certificate extends X509Certificate { public static List<OpenSSLX509Certificate> fromPkcs7DerInputStream(InputStream is) throws ParsingException { + @SuppressWarnings("resource") OpenSSLBIOInputStream bis = new OpenSSLBIOInputStream(is); final long[] certRefs; @@ -111,6 +113,7 @@ public class OpenSSLX509Certificate extends X509Certificate { public static OpenSSLX509Certificate fromX509PemInputStream(InputStream is) throws ParsingException { + @SuppressWarnings("resource") final OpenSSLBIOInputStream bis = new OpenSSLBIOInputStream(is); try { @@ -128,6 +131,7 @@ public class OpenSSLX509Certificate extends X509Certificate { public static List<OpenSSLX509Certificate> fromPkcs7PemInputStream(InputStream is) throws ParsingException { + @SuppressWarnings("resource") OpenSSLBIOInputStream bis = new OpenSSLBIOInputStream(is); final long[] certRefs; |