Diff
Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Digest.java (1055 => 1056)
--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Digest.java 2008-07-21 18:41:10 UTC (rev 1055)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Digest.java 2008-07-21 18:41:13 UTC (rev 1056)
@@ -56,4 +56,22 @@
public final void setVersion(final int newVersion) {
this.version = newVersion;
}
+
+ /**
+ * Get the <code>Contents</code> value.
+ *
+ * @return a <code>PKCS7</code> value
+ */
+ public final PKCS7 getContents() {
+ return contents;
+ }
+
+ /**
+ * Set the <code>Contents</code> value.
+ *
+ * @param newContents The new Contents value.
+ */
+ public final void setContents(final PKCS7 newContents) {
+ this.contents = newContents;
+ }
}// Digest
Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java (1055 => 1056)
--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java 2008-07-21 18:41:10 UTC (rev 1055)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java 2008-07-21 18:41:13 UTC (rev 1056)
@@ -156,6 +156,14 @@
this.data.addRecipientInfo(ri);
}
+ /** c: PKCS7_set_content
+ *
+ */
+ public void setContent(PKCS7 p7) {
+ this.data.setContent(p7);
+ }
+
+
/** c: PKCS7_dataInit
*
*/
Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7Data.java (1055 => 1056)
--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7Data.java 2008-07-21 18:41:10 UTC (rev 1055)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7Data.java 2008-07-21 18:41:13 UTC (rev 1056)
@@ -111,4 +111,8 @@
public void addSigner(SignerInfo psi) {
throw new PKCS7Exception(PKCS7.F_PKCS7_ADD_SIGNER,PKCS7.R_WRONG_CONTENT_TYPE);
}
+
+ public void setContent(PKCS7 p7) {
+ throw new PKCS7Exception(PKCS7.F_PKCS7_SET_CONTENT,PKCS7.R_WRONG_CONTENT_TYPE);
+ }
}// PKCS7Data
Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataDigest.java (1055 => 1056)
--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataDigest.java 2008-07-21 18:41:10 UTC (rev 1055)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataDigest.java 2008-07-21 18:41:13 UTC (rev 1056)
@@ -51,4 +51,8 @@
public boolean isDigest() {
return true;
}
+
+ public void setContent(PKCS7 p7) {
+ this.digest.setContents(p7);
+ }
}// PKCS7DataDigest
Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java (1055 => 1056)
--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java 2008-07-21 18:41:10 UTC (rev 1055)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java 2008-07-21 18:41:13 UTC (rev 1056)
@@ -85,4 +85,8 @@
this.sign.getMdAlgs().add(psi.getDigestAlgorithm());
this.sign.getSignerInfo().add(psi);
}
+
+ public void setContent(PKCS7 p7) {
+ this.sign.setContents(p7);
+ }
}// PKCS7DataSigned
Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Signed.java (1055 => 1056)
--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Signed.java 2008-07-21 18:41:10 UTC (rev 1055)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Signed.java 2008-07-21 18:41:13 UTC (rev 1056)
@@ -54,10 +54,6 @@
PKCS7 contents;
- public void setContents(PKCS7 contents) {
- this.contents = contents;
- }
-
/**
* Get the <code>Version</code> value.
*
@@ -111,4 +107,22 @@
public final void setMdAlgs(final Set<String> newMdAlgs) {
this.mdAlgs = newMdAlgs;
}
+
+ /**
+ * Get the <code>Contents</code> value.
+ *
+ * @return a <code>PKCS7</code> value
+ */
+ public final PKCS7 getContents() {
+ return contents;
+ }
+
+ /**
+ * Set the <code>Contents</code> value.
+ *
+ * @param newContents The new Contents value.
+ */
+ public final void setContents(final PKCS7 newContents) {
+ this.contents = newContents;
+ }
}// Signed
Modified: trunk/jopenssl/test/test_java_pkcs7.rb (1055 => 1056)
--- trunk/jopenssl/test/test_java_pkcs7.rb 2008-07-21 18:41:10 UTC (rev 1055)
+++ trunk/jopenssl/test/test_java_pkcs7.rb 2008-07-21 18:41:13 UTC (rev 1056)
@@ -479,5 +479,55 @@
assert p7.get_signed_and_enveloped.md_algs.contains("MD4")
assert p7.get_signed_and_enveloped.md_algs.contains("MD5")
end
+
+ def test_set_content_on_data_throws_exception
+ p7 = PKCS7.new
+ p7.type = PKCS7::NID_pkcs7_data
+ assert_raises NativeException do
+ p7.setContent(PKCS7.new)
+ end
+ end
+
+ def test_set_content_on_enveloped_throws_exception
+ p7 = PKCS7.new
+ p7.type = PKCS7::NID_pkcs7_enveloped
+ assert_raises NativeException do
+ p7.setContent(PKCS7.new)
+ end
+ end
+
+ def test_set_content_on_signedAndEnveloped_throws_exception
+ p7 = PKCS7.new
+ p7.type = PKCS7::NID_pkcs7_signedAndEnveloped
+ assert_raises NativeException do
+ p7.setContent(PKCS7.new)
+ end
+ end
+
+ def test_set_content_on_encrypted_throws_exception
+ p7 = PKCS7.new
+ p7.type = PKCS7::NID_pkcs7_encrypted
+ assert_raises NativeException do
+ p7.setContent(PKCS7.new)
+ end
+ end
+
+ def test_set_content_on_signed_sets_the_content
+ p7 = PKCS7.new
+ p7.type = PKCS7::NID_pkcs7_signed
+ p7new = PKCS7.new
+ p7.setContent(p7new)
+
+ assert_equal p7new, p7.get_sign.contents
+ end
+
+ def test_set_content_on_digest_sets_the_content
+ p7 = PKCS7.new
+ p7.type = PKCS7::NID_pkcs7_digest
+ p7new = PKCS7.new
+ p7.setContent(p7new)
+
+ assert_equal p7new, p7.get_digest.contents
+ end
end
end