View Javadoc

1   package org.eparapher.core.signature;
2   
3   import org.bouncycastle.cms.CMSSignedDataGenerator;
4   import org.eparapher.core.EParapherManager;
5   
6   
7   public class CMSSignatureParameters extends DefaultSignatureParameters {
8   
9   	public final static String[][] CMSHashAlgFamilies = { { "MD5",       CMSSignedDataGenerator.DIGEST_MD5  },
10  														  { "SHA 1",     CMSSignedDataGenerator.DIGEST_SHA1 },
11  														  { "SHA 224",   CMSSignedDataGenerator.DIGEST_SHA224 },
12  														  { "SHA 256",   CMSSignedDataGenerator.DIGEST_SHA256 },
13  														  { "SHA 384",   CMSSignedDataGenerator.DIGEST_SHA384 },
14  														  { "SHA 512",   CMSSignedDataGenerator.DIGEST_SHA512 },
15  														  { "RIPEMD128", CMSSignedDataGenerator.DIGEST_RIPEMD128 },
16  														  { "RIPEMD160", CMSSignedDataGenerator.DIGEST_RIPEMD160 },
17  														  { "RIPEMD256", CMSSignedDataGenerator.DIGEST_RIPEMD256 },
18  														  { "GOST3411",  CMSSignedDataGenerator.DIGEST_GOST3411 } };
19  
20  	public static final String[] HASH_ITEMS = { "MD5",
21  												"SHA 1",
22  												"SHA 224",
23  												"SHA 256",
24  												"SHA 384",
25  												"SHA 512",
26  												"RIPEMD 128",
27  												"RIPEMD 160",
28  												"RIPEMD 256",
29  												"GOST 3411" };
30  
31  	private String  signatureDigestAlg;
32  	private boolean detached;
33  
34  	public CMSSignatureParameters() {
35  		
36  	}
37  
38  	public void setCMSSignatureParamsFromPreferences() {
39  		loadDefaultSignatureParameters();
40  		signatureDigestAlg = EParapherManager.getInstance().getSettings().getCMSHashAlgorithmOID();
41  		detached           = EParapherManager.getInstance().getSettings().isCMSDetachedSignature();
42  	}
43  
44  	public String getSignatureDigestAlgOID() {
45  		return signatureDigestAlg;
46  	}
47  
48  	public int getSignatureDigestAlgOIDAsInt() {
49  		for (int i = 0; i < CMSHashAlgFamilies.length; i++)
50  			if ( signatureDigestAlg.equals(CMSHashAlgFamilies[i][1]) )
51  				return i;
52  		return 0;
53  	}
54  
55  	public void setSignatureDigestAlgOID(String mSignatureDigestAlg) {
56  		this.signatureDigestAlg = mSignatureDigestAlg;
57  	}
58  
59  	public boolean isDetached() {
60  		return detached;
61  	}
62  
63  	public void setDetached(boolean detached) {
64  		this.detached = detached;
65  	}
66  
67  	public void setSignatureDigestAlgWithID(int index) {
68  		signatureDigestAlg = CMSHashAlgFamilies[index][1];
69  	}
70  
71  }