Welcome to mirror list, hosted at ThFree Co, Russian Federation.

SealedTest.java « test « provider « jce « spongycastle « org « java « test « src « prov - gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 161e85b02e51e8164526a8d3543c5b82d2790a2f (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

package org.spongycastle.jce.provider.test;

import java.security.Key;
import java.security.Security;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SealedObject;

import org.spongycastle.jce.provider.BouncyCastleProvider;
import org.spongycastle.util.test.SimpleTestResult;
import org.spongycastle.util.test.Test;
import org.spongycastle.util.test.TestResult;

public class SealedTest
    implements Test
{
    final static String provider = "SC";

    public String getName()
    {
        return "SealedObject";
    }

    public TestResult perform()
    {
        try
        {
            KeyGenerator keyGen = KeyGenerator.getInstance("DES", provider);
            Key key = keyGen.generateKey();
            Cipher c = Cipher.getInstance("DES/ECB/PKCS5Padding", provider);

            c.init(Cipher.ENCRYPT_MODE, key);
            String object = "Hello world";
            SealedObject so = new SealedObject(object, c);
            c.init(Cipher.DECRYPT_MODE, key);

            Object o = so.getObject(c);
            if (!o.equals(object))
            {
                return new SimpleTestResult(false, "Result object 1 not equal"
                        + "orig: " + object + " res: " + o);
            }

            o = so.getObject(key);
            if (!o.equals(object))
            {
                return new SimpleTestResult(false, "Result object 2 not equal"
                        + "orig: " + object + " res: " + o);
            }

            o = so.getObject(key, provider);
            if (!o.equals(object))
            {
                return new SimpleTestResult(false, "Result object 3 not equal"
                        + "orig: " + object + " res: " + o);
            }

            return new SimpleTestResult(true, getName() + ": Okay");
        }
        catch (Exception e)
        {
            return new SimpleTestResult(false, getName()
                    + ": failed excpetion - " + e.toString(), e);
        }
    }

    public static void main(String[] args)
    {
        Security.addProvider(new BouncyCastleProvider());

        Test            test = new SealedTest();
        TestResult      result = test.perform();

        System.out.println(result.toString());
    }
}