import java.awt.Dimension;
import java.awt.Toolkit;
+import java.io.File;
import java.security.cert.X509Certificate;
/**
this.trustManager = trustManager;
initComponents();
jTextField.setText(chain[0].getSubjectDN().toString());
- jTextArea.setText(chain.toString());
+ StringBuffer str = new StringBuffer();
+ for(int i=0; i<chain.length; i++) {
+ str.append(chain[i].toString());
+ str.append(System.getProperty("line.separator"));
+ }
+ jTextArea.setText(str.toString());
//Move to screen center.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
--- /dev/null
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.jent.checksmtp.ssl;
+
+import java.security.cert.X509Certificate;
+import junit.framework.TestCase;
+import sun.security.x509.CertificateSubjectName;
+import sun.security.x509.CertificateSubjectUniqueIdentity;
+import sun.security.x509.CertificateVersion;
+import sun.security.x509.UniqueIdentity;
+import sun.security.x509.X500Name;
+import sun.security.x509.X509CertImpl;
+import sun.security.x509.X509CertInfo;
+
+/**
+ *
+ * @author tkyn
+ */
+public class WarningServerTrustFrameTest extends TestCase {
+
+ public WarningServerTrustFrameTest(String testName) {
+ super(testName);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ private void sleep(long millsec) {
+ try {
+ Thread.sleep(millsec);
+ } catch (InterruptedException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private void wait(WarningServerTrustFrame ui) {
+ System.out.print("Wait 30s:");
+ for (int i = 0; i < 30; i++) {
+ sleep(1000);
+ System.out.print(".");
+ if (!ui.isVisible()) {
+ break;
+ }
+ }
+ System.out.println(" OK");
+ if (ui.isVisible()) {
+ ui.dispose();
+ fail("Forget human check. This unit test need to human decide.");
+ }
+ }
+
+ public void testSomeMethod() {
+ WarningServerTrustFrame ui = null;
+ RespondingX509TrustManager trustManager = null;
+ try {
+ trustManager = new RespondingX509TrustManager();
+ X509CertInfo certInfo = new X509CertInfo();
+ CertificateVersion certVer = new CertificateVersion(1);
+ certInfo.set(X509CertInfo.VERSION, certVer);
+ //UniqueIdentity id = new UniqueIdentity("Push OK Key".getBytes());
+ //CertificateSubjectUniqueIdentity subjectid = new CertificateSubjectUniqueIdentity(id);
+ //certInfo.set(X509CertInfo.SUBJECT_ID, subjectid);
+ X500Name name = new X500Name("CN=Push OK Key");
+ CertificateSubjectName subjectName = new CertificateSubjectName(name);
+ certInfo.set(X509CertInfo.SUBJECT, subjectName);
+ X509Certificate cert = new X509CertImpl(certInfo);
+ X509Certificate[] chain = new X509Certificate[1];
+ chain[0] = cert;
+ ui = new WarningServerTrustFrame(trustManager, chain);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ fail(ex.toString());
+ }
+
+ System.out.print("Wait 30s:");
+ for (int i = 0; i < 30; i++) {
+ sleep(1000);
+ System.out.print(".");
+ if (!ui.isVisible()) {
+ break;
+ }
+ }
+ System.out.println(" OK");
+ if (ui.isVisible()) {
+ ui.dispose();
+ fail("Forget human check. This unit test need to human decide.");
+ }
+ }
+}