<classpathentry kind="lib" path="lib/junit-4.11.jar"/>\r
<classpathentry kind="lib" path="ooxml-lib/ooxml-schemas-1.1.jar" sourcepath="ooxml-lib/ooxml-schemas-src-1.1.jar"/>\r
<classpathentry kind="lib" path="ooxml-lib/ooxml-encryption-1.2.jar" sourcepath="ooxml-lib/ooxml-encryption-src-1.2.jar"/>\r
+ <classpathentry kind="lib" path="lib/com.springsource.org.objenesis-1.0.0.jar"/>\r
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
<classpathentry kind="lib" path="lib/mockito-core-1.9.5.jar" sourcepath="E:/tmp/mavenRepo/org/mockito/mockito-core/1.9.5/mockito-core-1.9.5-sources.jar"/>\r
<classpathentry kind="output" path="build/eclipse"/>\r
public static void registerBouncyCastle() {\r
if (Security.getProvider("BC") != null) return;\r
try {\r
- Class<Provider> clazz = (Class<Provider>)Class.forName("org.bouncycastle.jce.provider.BouncyCastleProvider");\r
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();\r
+ String bcProviderName = "org.bouncycastle.jce.provider.BouncyCastleProvider";\r
+ Class<Provider> clazz = (Class<Provider>)cl.loadClass(bcProviderName);\r
Security.addProvider(clazz.newInstance());\r
} catch (Exception e) {\r
throw new EncryptedDocumentException("Only the BouncyCastle provider supports your encryption settings - please add it to the classpath.");\r
}\r
\r
public interface BasicOCSPRespIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.cert.ocsp.BasicOCSPResp";\r
+ String delegateClass = "org.bouncycastle.ocsp.BasicOCSPResp";\r
Date getProducedAt();\r
RespIDIf getResponderId();\r
}\r
}\r
\r
public interface OCSPRespIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.cert.ocsp.OCSPResp";\r
+ String delegateClass = "org.bouncycastle.ocsp.OCSPResp";\r
BasicOCSPRespIf getResponseObject();\r
byte[] getEncoded() throws IOException;\r
}\r
}\r
\r
public interface RespIDIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.cert.ocsp.RespID";\r
+ String delegateClass = "org.bouncycastle.ocsp.RespID";\r
ResponderIDIf toASN1Object();\r
}\r
\r
}\r
\r
public interface OCSPReqIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.cert.ocsp.OCSPReq";\r
+ String delegateClass = "org.bouncycastle.ocsp.OCSPReq";\r
\r
ReqIf[] getRequestList();\r
}\r
}\r
\r
public interface CertificateIDIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.cert.ocsp.CertificateID";\r
+ String delegateClass = "org.bouncycastle.ocsp.CertificateID";\r
\r
String HASH_SHA1();\r
}\r
}\r
\r
public interface X509V2CRLGeneratorIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.asn1.x509.X509V2CRLGenerator";\r
+ String delegateClass = "org.bouncycastle.x509.X509V2CRLGenerator";\r
\r
void setIssuerDN(X500Principal issuerDN);\r
void setThisUpdate(Date date);\r
}\r
\r
public interface ReqIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.cert.ocsp.Req";\r
+ String delegateClass = "org.bouncycastle.ocsp.Req";\r
\r
CertificateIDIf getCertID();\r
}\r
\r
public interface CertificateStatusIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.cert.ocsp.CertificateStatus";\r
+ String delegateClass = "org.bouncycastle.ocsp.CertificateStatus";\r
\r
CertificateStatusIf GOOD();\r
}\r
\r
public interface RevokedStatusIf extends ProxyIf {\r
- String delegateClass = "org.bouncycastle.cert.ocsp.RevokedStatus";\r
+ String delegateClass = "org.bouncycastle.ocsp.RevokedStatus";\r
}\r
\r
public interface CRLReasonIf extends ProxyIf {\r
try {\r
Field f = delegateClass.getDeclaredField(methodName);\r
ret = f.get(delegateRef);\r
+ if (ret == null) return null;\r
isStaticField = true;\r
} catch (NoSuchFieldException e) {\r
LOG.log(POILogger.DEBUG, "No static field '"+methodName+"' in class '"+delegateClass.getCanonicalName()+"' - trying method now.");\r
import javax.xml.transform.dom.DOMSource;\r
import javax.xml.transform.stream.StreamResult;\r
\r
-import org.apache.poi.poifs.crypt.dsig.HorribleProxy;\r
import org.apache.poi.poifs.crypt.dsig.HorribleProxies.ASN1InputStreamIf;\r
import org.apache.poi.poifs.crypt.dsig.HorribleProxies.AuthorityInformationAccessIf;\r
import org.apache.poi.poifs.crypt.dsig.HorribleProxies.AuthorityKeyIdentifierIf;\r
import org.apache.poi.poifs.crypt.dsig.HorribleProxies.X509PrincipalIf;\r
import org.apache.poi.poifs.crypt.dsig.HorribleProxies.X509V2CRLGeneratorIf;\r
import org.apache.poi.poifs.crypt.dsig.HorribleProxies.X509V3CertificateGeneratorIf;\r
+import org.apache.poi.poifs.crypt.dsig.HorribleProxy;\r
import org.w3c.dom.Document;\r
import org.w3c.dom.Node;\r
import org.xml.sax.InputSource;\r
// request\r
OCSPReqGeneratorIf ocspReqGenerator = HorribleProxy.newProxy(OCSPReqGeneratorIf.class);\r
CertificateIDIf certId = HorribleProxy.newProxy(CertificateIDIf.class);\r
- certId = HorribleProxy.newProxy(CertificateIDIf.class, certId.HASH_SHA1(),\r
+ String hashSha1 = certId.HASH_SHA1();\r
+ certId = HorribleProxy.newProxy(CertificateIDIf.class, hashSha1,\r
issuerCertificate, certificate.getSerialNumber());\r
ocspReqGenerator.addRequest(certId);\r
OCSPReqIf ocspReq = ocspReqGenerator.generate();\r
ClassLoader cl = Thread.currentThread().getContextClassLoader();\r
URLClassLoader ucl = new URLClassLoader(new URL[]{bcJar.toURI().toURL()}, cl);\r
Thread.currentThread().setContextClassLoader(ucl);\r
+ CryptoFunctions.registerBouncyCastle();\r
}\r
\r
@Test\r