1
package org.bouncycastle.bcpg;
5
import org.bouncycastle.bcpg.attr.ImageAttribute;
8
* reader for user attribute sub-packets
10
public class UserAttributeSubpacketInputStream
11
extends InputStream implements UserAttributeSubpacketTags
15
public UserAttributeSubpacketInputStream(
21
public int available()
24
return in.available();
33
private void readFully(
45
throw new EOFException();
55
int l = in.read(buf, off, len);
59
throw new EOFException();
67
public UserAttributeSubpacket readPacket()
84
bodyLen = ((l - 192) << 8) + (in.read()) + 192;
88
bodyLen = (in.read() << 24) | (in.read() << 16) | (in.read() << 8) | in.read();
99
throw new EOFException("unexpected EOF reading user attribute sub packet");
102
byte[] data = new byte[bodyLen - 1];
104
this.readFully(data, 0, data.length);
110
case IMAGE_ATTRIBUTE:
111
return new ImageAttribute(data);
114
return new UserAttributeSubpacket(type, data);