tu.crossing.JavaCryptographicArchitecture.3.1.2.source-code.DigestOutputStream.crysl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of JavaCryptographicArchitecture
Show all versions of JavaCryptographicArchitecture
JavaCryptographicArchitecture CrySL ruleset
The newest version!
SPEC java.security.DigestOutputStream
OBJECTS
java.io.OutputStream stream;
java.security.MessageDigest digest;
byte[] data;
int offset;
int len;
int specifiedByte;
FORBIDDEN
on(boolean) ;
EVENTS
c1: DigestOutputStream(stream, digest);
Con := c1;
r1: write(specifiedByte);
r2: write(data, offset, len);
Write := r1 | r2;
cl1: close();
Close := cl1;
ORDER
Con, Write+, Close
CONSTRAINTS
length[data] >= offset + len;
offset >= 0;
len > 0;
REQUIRES
generatedMessageDigest[digest];
ENSURES
digestedOutputStream[stream, digest];