📄 certificatecreatorwindow.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: CertificateCreatorWindow.java
package org.gudy.azureus2.ui.swt.auth;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.logging.LogAlert;
import org.gudy.azureus2.core3.logging.Logger;
import org.gudy.azureus2.core3.security.SESecurityManager;
import org.gudy.azureus2.core3.util.*;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.mainwindow.SWTThread;
public class CertificateCreatorWindow
{
protected class createDialog
{
protected Shell shell;
final CertificateCreatorWindow this$0;
protected void close(boolean ok)
{
shell.dispose();
}
protected createDialog(Display display)
{
this$0 = CertificateCreatorWindow.this;
Object();
if (display.isDisposed())
return;
shell = new Shell(display, 0x10860);
Utils.setShellIcon(shell);
Messages.setLanguageText(shell, "security.certcreate.title");
GridLayout layout = new GridLayout();
layout.numColumns = 3;
shell.setLayout(layout);
Label info_label = new Label(shell, 0);
Messages.setLanguageText(info_label, "security.certcreate.intro");
GridData gridData = new GridData(1808);
gridData.horizontalSpan = 3;
info_label.setLayoutData(gridData);
Label alias_label = new Label(shell, 0);
Messages.setLanguageText(alias_label, "security.certcreate.alias");
gridData = new GridData(1808);
gridData.horizontalSpan = 1;
alias_label.setLayoutData(gridData);
final Text alias_field = new Text(shell, 2048);
alias_field.setText("Azureus");
gridData = new GridData(1808);
gridData.horizontalSpan = 2;
alias_field.setLayoutData(gridData);
Label strength_label = new Label(shell, 0);
Messages.setLanguageText(strength_label, "security.certcreate.strength");
gridData = new GridData(1808);
gridData.horizontalSpan = 1;
strength_label.setLayoutData(gridData);
final Combo strength_combo = new Combo(shell, 12);
final int strengths[] = {
512, 1024, 1536, 2048
};
for (int i = 0; i < strengths.length; i++)
strength_combo.add((new StringBuilder()).append("").append(strengths[i]).toString());
strength_combo.select(1);
new Label(shell, 0);
String field_names[] = {
"security.certcreate.firstlastname", "security.certcreate.orgunit", "security.certcreate.org", "security.certcreate.city", "security.certcreate.state", "security.certcreate.country"
};
final String field_rns[] = {
"CN", "OU", "O", "L", "ST", "C"
};
final Text fields[] = new Text[field_names.length];
for (int i = 0; i < fields.length; i++)
{
Label resource_label = new Label(shell, 0);
Messages.setLanguageText(resource_label, field_names[i]);
gridData = new GridData(1808);
gridData.horizontalSpan = 1;
resource_label.setLayoutData(gridData);
Text field = fields[i] = new Text(shell, 2048);
gridData = new GridData(1808);
gridData.horizontalSpan = 2;
field.setLayoutData(gridData);
}
Label labelSeparator = new Label(shell, 258);
gridData = new GridData(768);
gridData.horizontalSpan = 3;
labelSeparator.setLayoutData(gridData);
new Label(shell, 0);
Composite comp = new Composite(shell, 0);
gridData = new GridData(896);
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalSpan = 2;
comp.setLayoutData(gridData);
GridLayout layoutButtons = new GridLayout();
layoutButtons.numColumns = 2;
comp.setLayout(layoutButtons);
Button bYes = new Button(comp, 8);
Messages.setLanguageText(bYes, "security.certcreate.ok");
gridData = new GridData(896);
gridData.grabExcessHorizontalSpace = true;
gridData.widthHint = 70;
bYes.setLayoutData(gridData);
bYes.addListener(13, new Listener() {
final CertificateCreatorWindow val$this$0;
final Text val$alias_field;
final int val$strengths[];
final Combo val$strength_combo;
final Text val$fields[];
final String val$field_rns[];
final createDialog this$1;
public void handleEvent(Event e)
{
String alias = alias_field.getText().trim();
int strength = strengths[strength_combo.getSelectionIndex()];
String dn = "";
for (int i = 0; i < fields.length; i++)
{
String rn = fields[i].getText().trim();
if (rn.length() == 0)
rn = "Unknown";
dn = (new StringBuilder()).append(dn).append(dn.length() != 0 ? "," : "").append(field_rns[i]).append("=").append(rn).toString();
}
try
{
SESecurityManager.createSelfSignedCertificate(alias, dn, strength);
close(true);
Logger.log(new LogAlert(false, 0, (new StringBuilder()).append(MessageText.getString("security.certcreate.createok")).append("\n").append(alias).append(":").append(strength).append("\n").append(dn).append("\n").append(SystemTime.getCurrentTime()).toString()));
}
catch (Throwable f)
{
Logger.log(new LogAlert(false, (new StringBuilder()).append(MessageText.getString("security.certcreate.createfail")).append("\n").append(SystemTime.getCurrentTime()).toString(), f));
}
}
// JavaClassFileOutputException: Invalid index accessing method local variables table of <init>
});
Button bNo = new Button(comp, 8);
Messages.setLanguageText(bNo, "security.certcreate.cancel");
gridData = new GridData(128);
gridData.grabExcessHorizontalSpace = false;
gridData.widthHint = 70;
bNo.setLayoutData(gridData);
bNo.addListener(13, new Listener() {
final CertificateCreatorWindow val$this$0;
final createDialog this$1;
public void handleEvent(Event e)
{
close(false);
}
// JavaClassFileOutputException: Invalid index accessing method local variables table of <init>
});
shell.setDefaultButton(bYes);
shell.addListener(31, new Listener() {
final CertificateCreatorWindow val$this$0;
final createDialog this$1;
public void handleEvent(Event e)
{
if (e.character == '\033')
close(false);
}
// JavaClassFileOutputException: Invalid index accessing method local variables table of <init>
});
shell.pack();
Utils.centreWindow(shell);
shell.open();
}
}
public CertificateCreatorWindow()
{
createCertificate();
}
public void createCertificate()
{
final Display display = SWTThread.getInstance().getDisplay();
if (display.isDisposed())
return;
try
{
display.asyncExec(new AERunnable() {
final Display val$display;
final CertificateCreatorWindow this$0;
public void runSupport()
{
new createDialog(display);
}
{
this$0 = CertificateCreatorWindow.this;
display = display1;
AERunnable();
}
});
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -