tu.crossing.JavaCryptographicArchitecture.3.1.2.source-code.AlgorithmParameters.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.AlgorithmParameters
OBJECTS
java.lang.String algorithm;
java.security.spec.AlgorithmParameterSpec paramSpec;
byte[] params;
java.lang.String format;
byte[] encParams;
EVENTS
g1: getInstance(algorithm);
g2: getInstance(algorithm, _);
Get := g1 | g2;
i1: init(paramSpec);
i2: init(params);
i3: init(params, _);
Init := i1 | i2 | i3;
e1: encParams = getEncoded();
e2: encParams = getEncoded(format);
GetEncoded := e1 | e2;
ORDER
Get, Init, GetEncoded?
CONSTRAINTS
algorithm in {"AES", "DiffieHellman", "DH", "OAEP", "PBEWithHmacSHA224AndAES_128",
"PBEWithHmacSHA256AndAES_128", "PBEWithHmacSHA384AndAES_128", "PBEWithHmacSHA512AndAES_128",
"PBEWithHmacSHA224AndAES_256", "PBEWithHmacSHA256AndAES_256", "PBEWithHmacSHA384AndAES_256",
"PBEWithHmacSHA512AndAES_256"};
REQUIRES
preparedAlg[params, algorithm];
algorithm in {"AES"} => preparedIV[paramSpec];
algorithm in {"DiffieHellman", "DH"} => preparedDH[paramSpec];
algorithm in {"PBEWithHmacSHA224AndAES_128", "PBEWithHmacSHA256AndAES_128", "PBEWithHmacSHA384AndAES_128",
"PBEWithHmacSHA512AndAES_128", "PBEWithHmacSHA224AndAES_256", "PBEWithHmacSHA256AndAES_256",
"PBEWithHmacSHA384AndAES_256", "PBEWithHmacSHA512AndAES_256"} => preparedPBE[paramSpec];
algorithm in {"OAEP"} => preparedOAEP[paramSpec];
ENSURES
preparedAlg[this, algorithm] after Init;
preparedAlg[encParams, algorithm] after GetEncoded;