📄 testprivatekeyenvelop.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: TestPrivateKeyEnvelop.java
package jit.testsuit;
import java.io.*;
import jit.asn1.ASN1Sequence;
import jit.asn1.pkcs.RSAPrivateKeyStructure;
import jit.asn1.x9.X9PrivateKeyInfo;
import jit.asn1parser.Parser;
import jit.crypto.CipherParameters;
import jit.crypto.params.RSAPrivateCrtKeyParameters;
import jit.jcrypto.*;
import jit.jcrypto.param.ECCParam;
import jit.jcrypto.param.RSAParam;
import jit.jcrypto.soft.JMechanism;
import jit.util.encoders.Base64;
import jit.util.jitca.PrivateKeyEnvelop;
import junit.framework.Assert;
import junit.framework.TestCase;
public class TestPrivateKeyEnvelop extends TestCase
{
private PrivateKeyEnvelop privateKeyEnvelop;
private Session session;
public TestPrivateKeyEnvelop(String name)
{
super(name);
privateKeyEnvelop = null;
session = null;
}
protected void setUp()
throws Exception
{
super.setUp();
JCrypto jcrypto = new JCrypto();
jcrypto.initialize(0, null);
session = jcrypto.openSession(0);
privateKeyEnvelop = new PrivateKeyEnvelop(session);
}
protected void tearDown()
throws Exception
{
privateKeyEnvelop = null;
session = null;
super.tearDown();
}
public void testGenerateEnvelop_RSA()
throws Exception
{
RSAParam rsaParam = new RSAParam(512, 3);
Mechanism genM = new JMechanism(0, rsaParam);
JKey keyPair[] = session.generateKeyPair(genM);
JKey usePubKey = keyPair[0];
JKey usePrvKey = keyPair[1];
keyPair = session.generateKeyPair(genM);
JKey prvKey = keyPair[1];
privateKeyEnvelop.setDeviceId(1);
privateKeyEnvelop.setCryptoType(1);
privateKeyEnvelop.setAlgId(289);
privateKeyEnvelop.setEncryptPublicKey(usePubKey);
privateKeyEnvelop.setPrivateKey(prvKey);
byte result[] = privateKeyEnvelop.generatePrvKeyEnvelop();
PrivateKeyEnvelop parser = new PrivateKeyEnvelop(session);
parser.loadEnvelop(result);
JKey test = parser.getPrivateKey(usePrvKey);
Assert.assertNotNull(test);
}
public void testGenerateEnvelop_ECC_DES()
throws Exception
{
ECCParam eccParam = new ECCParam(10001);
Mechanism genM = new JMechanism(1025, eccParam);
JKey keyPair[] = session.generateKeyPair(genM);
JKey usePubKey = keyPair[0];
JKey usePrvKey = keyPair[1];
keyPair = session.generateKeyPair(genM);
JKey prvKey = keyPair[1];
privateKeyEnvelop.setDeviceId(1);
privateKeyEnvelop.setCryptoType(1);
privateKeyEnvelop.setAlgId(289);
privateKeyEnvelop.setEncryptPublicKey(usePubKey);
privateKeyEnvelop.setPrivateKey(prvKey);
byte result[] = privateKeyEnvelop.generatePrvKeyEnvelop();
PrivateKeyEnvelop parser = new PrivateKeyEnvelop(session);
parser.loadEnvelop(result);
JKey test = parser.getPrivateKey(usePrvKey);
Assert.assertNotNull(test);
}
public void testGenerateEnvelop_ECC_DES3()
throws Exception
{
ECCParam eccParam = new ECCParam(10001);
Mechanism genM = new JMechanism(1025, eccParam);
JKey keyPair[] = session.generateKeyPair(genM);
JKey usePubKey = keyPair[0];
JKey usePrvKey = keyPair[1];
keyPair = session.generateKeyPair(genM);
JKey prvKey = keyPair[1];
privateKeyEnvelop.setDeviceId(1);
privateKeyEnvelop.setCryptoType(1);
privateKeyEnvelop.setAlgId(306);
privateKeyEnvelop.setEncryptPublicKey(usePubKey);
privateKeyEnvelop.setPrivateKey(prvKey);
byte result[] = privateKeyEnvelop.generatePrvKeyEnvelop();
PrivateKeyEnvelop parser = new PrivateKeyEnvelop(session);
parser.loadEnvelop(result);
JKey test = parser.getPrivateKey(usePrvKey);
Assert.assertNotNull(test);
}
public void testGenerateEnvelop_ECC_RC2()
throws Exception
{
ECCParam eccParam = new ECCParam(10001);
Mechanism genM = new JMechanism(1025, eccParam);
JKey keyPair[] = session.generateKeyPair(genM);
JKey usePubKey = keyPair[0];
JKey usePrvKey = keyPair[1];
keyPair = session.generateKeyPair(genM);
JKey prvKey = keyPair[1];
privateKeyEnvelop.setDeviceId(1);
privateKeyEnvelop.setCryptoType(1);
privateKeyEnvelop.setAlgId(257);
privateKeyEnvelop.setEncryptPublicKey(usePubKey);
privateKeyEnvelop.setPrivateKey(prvKey);
byte result[] = privateKeyEnvelop.generatePrvKeyEnvelop();
PrivateKeyEnvelop parser = new PrivateKeyEnvelop(session);
parser.loadEnvelop(result);
JKey test = parser.getPrivateKey(usePrvKey);
Assert.assertNotNull(test);
}
public void testDecodeEnvelop_RSA_C()
throws Exception
{
File file = new File("c:/testData/env.txt");
FileInputStream fin = new FileInputStream(file);
byte envelop[] = new byte[(int)file.length()];
fin.read(envelop);
fin.close();
envelop = Base64.decode(envelop);
file = new File("c:/testData/prvKey.txt");
fin = new FileInputStream(file);
byte data[] = new byte[(int)file.length()];
fin.read(data);
data = Base64.decode(data);
ASN1Sequence seq = (ASN1Sequence)Parser.writeBytes2DERObj(data);
RSAPrivateKeyStructure stru = new RSAPrivateKeyStructure(seq);
RSAPrivateCrtKeyParameters privKey = new RSAPrivateCrtKeyParameters(stru.getModulus(), stru.getPublicExponent(), stru.getPrivateExponent(), stru.getPrime1(), stru.getPrime2(), stru.getExponent1(), stru.getExponent2(), stru.getCoefficient());
JKey decryptKey = Parser.convert2JKey(2, privKey);
PrivateKeyEnvelop pEnvelop = new PrivateKeyEnvelop(session);
pEnvelop.loadEnvelop(envelop);
int deviceId = pEnvelop.getDeviceID();
System.out.println("device id:".concat(String.valueOf(String.valueOf(deviceId))));
int cryptoType = pEnvelop.getCryptoType();
System.out.println("crypto type:".concat(String.valueOf(String.valueOf(cryptoType))));
int algId = pEnvelop.getAlgID();
System.out.println("algId:".concat(String.valueOf(String.valueOf(algId))));
JKey myKey = pEnvelop.getPrivateKey(decryptKey);
System.out.println("Test from CA file OK. (RSA)");
Assert.assertNotNull(myKey);
}
public void testDecodeEnvelop_ECC_C()
throws Exception
{
File file = new File("c:/testData/ECCPrivateKeyEnvelop.txt");
FileInputStream fin = new FileInputStream(file);
byte envelop[] = new byte[(int)file.length()];
fin.read(envelop);
fin.close();
envelop = Base64.decode(envelop);
file = new File("c:/testData/ECCPrivateKey.txt");
fin = new FileInputStream(file);
byte data[] = new byte[(int)file.length()];
fin.read(data);
data = Base64.decode(data);
ASN1Sequence seq = (ASN1Sequence)Parser.writeBytes2DERObj(data);
X9PrivateKeyInfo x9pki = new X9PrivateKeyInfo(seq);
CipherParameters privKey = x9pki.getPrivateKey();
JKey decryptKey = Parser.convert2JKey(1002, privKey);
PrivateKeyEnvelop pEnvelop = new PrivateKeyEnvelop(session);
pEnvelop.loadEnvelop(envelop);
int deviceId = pEnvelop.getDeviceID();
System.out.println("device id:".concat(String.valueOf(String.valueOf(deviceId))));
int cryptoType = pEnvelop.getCryptoType();
System.out.println("crypto type:".concat(String.valueOf(String.valueOf(cryptoType))));
int algId = pEnvelop.getAlgID();
System.out.println("algId:".concat(String.valueOf(String.valueOf(algId))));
JKey myKey = pEnvelop.getPrivateKey(decryptKey);
System.out.println("Test from CA file OK. (ECC)");
Assert.assertNotNull(myKey);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -