blob: 8a9f202dd2814052b3b694b57f2f44eba8689f8f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package org.spongycastle.jcajce;
import java.io.IOException;
import java.security.AlgorithmParameters;
import org.spongycastle.asn1.ASN1Encodable;
import org.spongycastle.asn1.ASN1Primitive;
public class JcaJceUtils
{
private JcaJceUtils()
{
}
/**
* Extract an ASN.1 encodable from an AlgorithmParameters object.
*
* @param params the object to get the encoding used to create the return value.
* @return an ASN.1 object representing the primitives making up the params parameter.
* @throws IOException if an encoding cannot be extracted.
*/
public static ASN1Encodable extractParameters(AlgorithmParameters params)
throws IOException
{
// we try ASN.1 explicitly first just in case and then role back to the default.
ASN1Encodable asn1Params;
try
{
asn1Params = ASN1Primitive.fromByteArray(params.getEncoded("ASN.1"));
}
catch (Exception ex)
{
asn1Params = ASN1Primitive.fromByteArray(params.getEncoded());
}
return asn1Params;
}
public static void loadParameters(AlgorithmParameters params, ASN1Encodable sParams)
throws IOException
{
// we try ASN.1 explicitly first just in case and then role back to the default.
try
{
params.init(sParams.toASN1Primitive().getEncoded(), "ASN.1");
}
catch (Exception ex)
{
params.init(sParams.toASN1Primitive().getEncoded());
}
}
}
|