⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhkeyagreementtest.java

📁 一个java开发的非常全面的关于证书发放
💻 JAVA
字号:
package net.sourceforge.jcetaglib.test;

import junit.framework.Assert;
import junit.framework.TestCase;
import net.sourceforge.jcetaglib.lib.Crypt;
import net.sourceforge.jcetaglib.lib.DHKeyAgreement;

import java.security.Key;
import java.security.KeyPair;
import java.security.PublicKey;

public class DHKeyAgreementTest extends TestCase {
    private StringBuffer ciphertext = null;
    private StringBuffer plaintext = null;

    public void testAgreement() throws Exception {
        // generate key pairs for both parties
        KeyPair alicekeypair = DHKeyAgreement.generateDHKeyPair();
        KeyPair bobkeypair = DHKeyAgreement.generateDHKeyPair();

        // public key wrapping
        byte[] bytealicekey = DHKeyAgreement.publicKeyToBytes(alicekeypair.getPublic()); // send this to Bob
        byte[] bytebobkey = DHKeyAgreement.publicKeyToBytes(bobkeypair.getPublic()); // send this to Alice

        // receiving public keys ...
        PublicKey alicepub = DHKeyAgreement.bytesToPublicKey(bytealicekey);
        PublicKey bobpub = DHKeyAgreement.bytesToPublicKey(bytebobkey);

        // generate secret session keys for both parties
        Key alicekey = DHKeyAgreement.generateSessionKey(bobpub, alicekeypair.getPrivate(), "AES", 256);
        Key bobkey = DHKeyAgreement.generateSessionKey(alicepub, bobkeypair.getPrivate(), "AES", 256);

        Assert.assertEquals(alicekey, bobkey);

        for (int i = 0; i < RunTest.text.length; i++) {
            // alice encrypts it with her key
            ciphertext = Crypt.encrypt(RunTest.text[i]
                    , alicekey
                    , "AES"
                    , "CBC"
                    , "PKCS7Padding"
                    , null);

            // bob decrypts it with his key
            plaintext = Crypt.decrypt(ciphertext
                    , bobkey
                    , "AES"
                    , "CBC"
                    , "PKCS7Padding");

            Assert.assertEquals(plaintext.toString(), RunTest.text[i].toString());
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -