| package org.bouncycastle.crypto.io; |
| |
| import java.io.FilterInputStream; |
| import java.io.IOException; |
| import java.io.InputStream; |
| |
| import org.bouncycastle.crypto.Signer; |
| |
| public class SignerInputStream |
| extends FilterInputStream |
| { |
| protected Signer signer; |
| |
| public SignerInputStream( |
| InputStream stream, |
| Signer signer) |
| { |
| super(stream); |
| this.signer = signer; |
| } |
| |
| public int read() |
| throws IOException |
| { |
| int b = in.read(); |
| |
| if (b >= 0) |
| { |
| signer.update((byte)b); |
| } |
| return b; |
| } |
| |
| public int read( |
| byte[] b, |
| int off, |
| int len) |
| throws IOException |
| { |
| int n = in.read(b, off, len); |
| if (n > 0) |
| { |
| signer.update(b, off, n); |
| } |
| return n; |
| } |
| |
| public Signer getSigner() |
| { |
| return signer; |
| } |
| } |