You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by br...@apache.org on 2005/12/08 22:33:44 UTC
svn commit: r355223 - in /jakarta/commons/sandbox/openpgp/trunk/src:
main/java/org/apache/commons/openpgp/ test/java/org/apache/commons/openpgp/
Author: brett
Date: Thu Dec 8 13:33:35 2005
New Revision: 355223
URL: http://svn.apache.org/viewcvs?rev=355223&view=rev
Log:
rename streaming signer, and add a streaming verifier
Added:
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSignatureVerifier.java (with props)
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSigner.java (contents, props changed)
- copied, changed from r354747, jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureUpdater.java
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSignatureVerifier.java (with props)
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSigner.java (contents, props changed)
- copied, changed from r354747, jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureUpdater.java
Removed:
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureUpdater.java
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureUpdater.java
Modified:
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureVerifier.java
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSigner.java
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/KeyRing.java
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureVerifier.java
jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSigner.java
jakarta/commons/sandbox/openpgp/trunk/src/test/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignerTest.java
Modified: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureVerifier.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureVerifier.java?rev=355223&r1=355222&r2=355223&view=diff
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureVerifier.java (original)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureVerifier.java Thu Dec 8 13:33:35 2005
@@ -16,21 +16,8 @@
* limitations under the License.
*/
-import org.bouncycastle.bcpg.ArmoredInputStream;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.bouncycastle.openpgp.PGPCompressedData;
-import org.bouncycastle.openpgp.PGPException;
-import org.bouncycastle.openpgp.PGPObjectFactory;
-import org.bouncycastle.openpgp.PGPPublicKey;
-import org.bouncycastle.openpgp.PGPSignature;
-import org.bouncycastle.openpgp.PGPSignatureList;
-import org.bouncycastle.openpgp.PGPUtil;
-
import java.io.IOException;
import java.io.InputStream;
-import java.security.NoSuchProviderException;
-import java.security.Security;
-import java.security.SignatureException;
/**
* Verify signatures using the Bouncy Castle OpenPGP provider.
@@ -40,6 +27,8 @@
public class BouncyCastleOpenPgpSignatureVerifier
implements OpenPgpSignatureVerifier
{
+ private static final int BUFFER_SIZE = 1024;
+
public SignatureStatus verifySignature( InputStream data, KeyRing keyRing )
throws OpenPgpException, UnknownKeyException
{
@@ -51,71 +40,22 @@
boolean asciiArmored )
throws OpenPgpException, UnknownKeyException, IOException
{
- // TODO: better location for this?
- Security.addProvider( new BouncyCastleProvider() );
+ OpenPgpStreamingSignatureVerifier verifier =
+ new BouncyCastleOpenPgpStreamingSignatureVerifier( signature, keyRing, asciiArmored );
- signature = PGPUtil.getDecoderStream( signature );
- if ( asciiArmored )
- {
- signature = new ArmoredInputStream( signature );
- }
+ byte[] buf = new byte[BUFFER_SIZE];
- PGPObjectFactory pgpFact = new PGPObjectFactory( signature );
- PGPSignatureList p3;
-
- try
+ int len;
+ do
{
- Object o = pgpFact.nextObject();
- if ( o instanceof PGPCompressedData )
- {
- PGPCompressedData c1 = (PGPCompressedData) o;
-
- pgpFact = new PGPObjectFactory( c1.getDataStream() );
-
- p3 = (PGPSignatureList) pgpFact.nextObject();
- }
- else
+ len = data.read( buf );
+ if ( len > 0 )
{
- p3 = (PGPSignatureList) o;
- }
-
- int ch;
-
- PGPSignature sig = p3.get( 0 );
- PGPPublicKey key = keyRing.getPublicKey( sig.getKeyID() );
-
- sig.initVerify( key, "BC" );
-
- while ( ( ch = data.read() ) >= 0 )
- {
- sig.update( (byte) ch );
- }
-
- if ( sig.verify() )
- {
- // TODO: how do we assess trust?
- return SignatureStatus.VALID_UNTRUSTED;
- }
- else
- {
- return SignatureStatus.INVALID;
+ verifier.update( buf, 0, len );
}
}
- catch ( PGPException e )
- {
- // TODO: more details
- throw new OpenPgpException( "Error verifying detached signature", e );
- }
- catch ( NoSuchProviderException e )
- {
- throw new OpenPgpException(
- "Unable to find the correct provider for PGP - check that the Bouncy Castle provider is correctly installed",
- e );
- }
- catch ( SignatureException e )
- {
- // TODO: more details
- throw new OpenPgpException( "Error calculating detached signature", e );
- }
+ while ( len >= 0 );
+
+ return verifier.finish();
}
}
Modified: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSigner.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSigner.java?rev=355223&r1=355222&r2=355223&view=diff
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSigner.java (original)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSigner.java Thu Dec 8 13:33:35 2005
@@ -40,8 +40,8 @@
boolean asciiArmor )
throws OpenPgpException, IOException
{
- OpenPgpSignatureUpdater updater =
- new BouncyCastleOpenPgpSignatureUpdater( signature, keyId, keyRing, asciiArmor );
+ OpenPgpStreamingSigner updater =
+ new BouncyCastleOpenPgpStreamingSigner( signature, keyId, keyRing, asciiArmor );
byte[] buf = new byte[BUFFER_SIZE];
Added: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSignatureVerifier.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSignatureVerifier.java?rev=355223&view=auto
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSignatureVerifier.java (added)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSignatureVerifier.java Thu Dec 8 13:33:35 2005
@@ -0,0 +1,157 @@
+package org.apache.commons.openpgp;
+
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.bouncycastle.bcpg.BCPGOutputStream;
+import org.bouncycastle.bcpg.ArmoredInputStream;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.openpgp.PGPException;
+import org.bouncycastle.openpgp.PGPSignature;
+import org.bouncycastle.openpgp.PGPSignatureGenerator;
+import org.bouncycastle.openpgp.PGPUtil;
+import org.bouncycastle.openpgp.PGPObjectFactory;
+import org.bouncycastle.openpgp.PGPSignatureList;
+import org.bouncycastle.openpgp.PGPCompressedData;
+import org.bouncycastle.openpgp.PGPPublicKey;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.InputStream;
+import java.security.NoSuchProviderException;
+import java.security.Security;
+import java.security.SignatureException;
+
+/**
+ * Bouncy Castle implementation of the OpenPGP signer.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public class BouncyCastleOpenPgpStreamingSignatureVerifier
+ implements OpenPgpStreamingSignatureVerifier
+{
+ private static final String PROVIDER = "BC";
+
+ private PGPSignature sig;
+
+ public BouncyCastleOpenPgpStreamingSignatureVerifier( InputStream signature, KeyRing keyRing, boolean asciiArmor )
+ throws OpenPgpException, IOException
+ {
+ init( asciiArmor, signature, keyRing );
+ }
+
+ private void init( boolean asciiArmor, InputStream signature, KeyRing keyRing )
+ throws OpenPgpException, IOException
+ {
+ // TODO: better location for this?
+ Security.addProvider( new BouncyCastleProvider() );
+
+ try
+ {
+ signature = PGPUtil.getDecoderStream( signature );
+ if ( asciiArmor )
+ {
+ signature = new ArmoredInputStream( signature );
+ }
+
+ PGPObjectFactory pgpFact = new PGPObjectFactory( signature );
+ PGPSignatureList p3;
+
+ Object o = pgpFact.nextObject();
+ if ( o instanceof PGPCompressedData )
+ {
+ PGPCompressedData c1 = (PGPCompressedData) o;
+
+ pgpFact = new PGPObjectFactory( c1.getDataStream() );
+
+ p3 = (PGPSignatureList) pgpFact.nextObject();
+ }
+ else
+ {
+ p3 = (PGPSignatureList) o;
+ }
+
+ sig = p3.get( 0 );
+ PGPPublicKey key = keyRing.getPublicKey( sig.getKeyID() );
+
+ sig.initVerify( key, "BC" );
+ }
+ catch ( NoSuchProviderException e )
+ {
+ throw new OpenPgpException(
+ "Unable to find the correct provider for PGP - check that the Bouncy Castle provider is correctly installed",
+ e );
+ }
+ catch ( PGPException e )
+ {
+ // TODO: more details
+ throw new OpenPgpException( "Error calculating detached signature", e );
+ }
+ }
+
+ public void update( byte[] buf )
+ throws OpenPgpException
+ {
+ update( buf, 0, buf.length );
+ }
+
+ public void update( byte[] buf, int offset, int length )
+ throws OpenPgpException
+ {
+ try
+ {
+ sig.update( buf, offset, length );
+ }
+ catch ( SignatureException e )
+ {
+ // TODO: more details
+ throw new OpenPgpException( "Error calculating detached signature", e );
+ }
+ }
+
+ public SignatureStatus finish()
+ throws OpenPgpException, IOException
+ {
+ try
+ {
+ if ( sig.verify() )
+ {
+ // TODO: how do we assess trust?
+ return SignatureStatus.VALID_UNTRUSTED;
+ }
+ else
+ {
+ return SignatureStatus.INVALID;
+ }
+ }
+ catch ( PGPException e )
+ {
+ // TODO: more details
+ throw new OpenPgpException( "Error calculating detached signature", e );
+ }
+ catch ( SignatureException e )
+ {
+ // TODO: more details
+ throw new OpenPgpException( "Error calculating detached signature", e );
+ }
+ }
+
+ public SignatureStatus verify()
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+}
Propchange: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSignatureVerifier.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSignatureVerifier.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Copied: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSigner.java (from r354747, jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureUpdater.java)
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSigner.java?p2=jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSigner.java&p1=jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureUpdater.java&r1=354747&r2=355223&rev=355223&view=diff
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignatureUpdater.java (original)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSigner.java Thu Dec 8 13:33:35 2005
@@ -39,8 +39,8 @@
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
-public class BouncyCastleOpenPgpSignatureUpdater
- implements OpenPgpSignatureUpdater
+public class BouncyCastleOpenPgpStreamingSigner
+ implements OpenPgpStreamingSigner
{
private static final String PROVIDER = "BC";
@@ -50,15 +50,15 @@
private BCPGOutputStream bOut;
- public BouncyCastleOpenPgpSignatureUpdater( String keyId, KeyRing keyRing, boolean asciiArmor )
+ public BouncyCastleOpenPgpStreamingSigner( String keyId, KeyRing keyRing, boolean asciiArmor )
throws OpenPgpException
{
signatureBytes = new ByteArrayOutputStream();
init( asciiArmor, signatureBytes, keyRing, keyId );
}
- public BouncyCastleOpenPgpSignatureUpdater( OutputStream signature, String keyId, KeyRing keyRing,
- boolean asciiArmor )
+ public BouncyCastleOpenPgpStreamingSigner( OutputStream signature, String keyId, KeyRing keyRing,
+ boolean asciiArmor )
throws OpenPgpException
{
signatureBytes = null;
@@ -147,5 +147,4 @@
}
return signatureBytes != null ? signatureBytes.toByteArray() : null;
}
-
}
Propchange: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSigner.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/BouncyCastleOpenPgpStreamingSigner.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/KeyRing.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/KeyRing.java?rev=355223&r1=355222&r2=355223&view=diff
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/KeyRing.java (original)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/KeyRing.java Thu Dec 8 13:33:35 2005
@@ -26,6 +26,8 @@
*/
public interface KeyRing
{
+ String ROLE = KeyRing.class.getName();
+
/**
* @return
* @todo seems like the wrong place
Modified: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureVerifier.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureVerifier.java?rev=355223&r1=355222&r2=355223&view=diff
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureVerifier.java (original)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureVerifier.java Thu Dec 8 13:33:35 2005
@@ -28,6 +28,8 @@
*/
public interface OpenPgpSignatureVerifier
{
+ String ROLE = OpenPgpSignatureVerifier.class.getName();
+
/**
* Verify a piece of data that was signed with OpenPGP.
*
Modified: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSigner.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSigner.java?rev=355223&r1=355222&r2=355223&view=diff
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSigner.java (original)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSigner.java Thu Dec 8 13:33:35 2005
@@ -29,6 +29,8 @@
*/
public interface OpenPgpSigner
{
+ String ROLE = OpenPgpSigner.class.getName();
+
/**
* Sign a piece of data with the given key.
*
Added: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSignatureVerifier.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSignatureVerifier.java?rev=355223&view=auto
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSignatureVerifier.java (added)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSignatureVerifier.java Thu Dec 8 13:33:35 2005
@@ -0,0 +1,58 @@
+package org.apache.commons.openpgp;
+
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.IOException;
+
+/**
+ * An interface for updating an OpenPGP signature on the fly with streaming data.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public interface OpenPgpStreamingSignatureVerifier
+{
+ String ROLE = OpenPgpStreamingSignatureVerifier.class.getName();
+
+ /**
+ * Update the signature with the next block from the data buffer.
+ *
+ * @param buf the buffer
+ * @throws org.apache.commons.openpgp.OpenPgpException if the buffer is not valid for updating the signature
+ */
+ void update( byte[] buf )
+ throws OpenPgpException;
+
+ /**
+ * Update the signature with the next block from the data buffer.
+ *
+ * @param buf the buffer
+ * @param offset offset within the buffer to start from
+ * @param length number of bytes in the buffer to read from
+ * @throws org.apache.commons.openpgp.OpenPgpException if the buffer is not valid for updating the signature
+ */
+ void update( byte[] buf, int offset, int length )
+ throws OpenPgpException;
+
+ /**
+ * Finish and verify the signature that has been obtained.
+ *
+ * @return the status of the signature
+ * @throws org.apache.commons.openpgp.OpenPgpException if the signature is not in a consistent or complete state
+ */
+ SignatureStatus finish()
+ throws OpenPgpException, IOException;
+}
Propchange: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSignatureVerifier.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSignatureVerifier.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Copied: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSigner.java (from r354747, jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureUpdater.java)
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSigner.java?p2=jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSigner.java&p1=jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureUpdater.java&r1=354747&r2=355223&rev=355223&view=diff
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpSignatureUpdater.java (original)
+++ jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSigner.java Thu Dec 8 13:33:35 2005
@@ -23,8 +23,10 @@
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
-public interface OpenPgpSignatureUpdater
+public interface OpenPgpStreamingSigner
{
+ String ROLE = OpenPgpStreamingSigner.class.getName();
+
/**
* Update the signature with the next block from the data buffer.
*
@@ -53,5 +55,4 @@
*/
byte[] finish()
throws OpenPgpException, IOException;
-
}
Propchange: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSigner.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/commons/sandbox/openpgp/trunk/src/main/java/org/apache/commons/openpgp/OpenPgpStreamingSigner.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: jakarta/commons/sandbox/openpgp/trunk/src/test/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignerTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/openpgp/trunk/src/test/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignerTest.java?rev=355223&r1=355222&r2=355223&view=diff
==============================================================================
--- jakarta/commons/sandbox/openpgp/trunk/src/test/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignerTest.java (original)
+++ jakarta/commons/sandbox/openpgp/trunk/src/test/java/org/apache/commons/openpgp/BouncyCastleOpenPgpSignerTest.java Thu Dec 8 13:33:35 2005
@@ -26,6 +26,7 @@
* Test the open pgp signer.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @todo test text input as well as binary - apparently it fails cross platform
*/
public class BouncyCastleOpenPgpSignerTest
extends TestCase
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org