|
Signed JAR file support.
* java/net/URLClassLoader.java
(JarURLResource.getCertificates): re-read jar entry to ensure
certificates are picked up.
(findClass): fill in class `signers' field, too.
* java/util/jar/JarFile.java (META_INF): new constant.
(PKCS7_DSA_SUFFIX): new constant.
(PKCS7_RSA_SUFFIX): new constant.
(DIGEST_KEY_SUFFIX): new constant.
(SF_SUFFIX): new constant.
(MD2_OID): new constant.
(MD4_OID): new constant.
(MD5_OID): new constant.
(SHA1_OID): new constant.
(DSA_ENCRYPTION_OID): new constant.
(RSA_ENCRYPTION_OID): new constant.
(signaturesRead): new field.
(verified): new field.
(entryCerts): new field.
(DEBUG): new constant.
(debug): new method.
(JarEnumeration.nextElement): fill in entry certificates, read
signatures if they haven't been read.
(getEntry): likewise.
(getInputStream): verify stream if it hasn't been verified
yet.
(readSignatures): new method.
(verify): new method.
(verifyHashes): new method.
(readManifestEntry): new method.
(EntryInputStream): new class.
* java/util/zip/InflaterInputStream.java
Don't defer to underlying stream for mark/reset.
(markSupported): new method; return `false'.
(mark): new method.
(reset): new method.
* gnu/java/io/Base64InputStream.java (decode): new class
method.
* gnu/java/security/der/DERReader.java don't make class
final.
(in): made protected.
(encBuf): likewise.
(readLength): likewise.
* gnu/java/security/ber/BER.java,
* gnu/java/security/ber/BEREncodingException.java,
* gnu/java/security/ber/BERReader.java,
* gnu/java/security/ber/BERValue.java,
* gnu/java/security/pkcs/PKCS7SignedData.java,
* gnu/java/security/pkcs/SignerInfo.java:
new files.
|