亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? authenticationpanel.java

?? Myjxta的源代碼 基于JXTA的P2P即時通信系統
?? JAVA
字號:
/* *  Copyright (c) 2001 Sun Microsystems, Inc.  All rights *  reserved. * *  Redistribution and use in source and binary forms, with or without *  modification, are permitted provided that the following conditions *  are met: * *  1. Redistributions of source code must retain the above copyright *  notice, this list of conditions and the following disclaimer. * *  2. Redistributions in binary form must reproduce the above copyright *  notice, this list of conditions and the following disclaimer in *  the documentation and/or other materials provided with the *  distribution. * *  3. The end-user documentation included with the redistribution, *  if any, must include the following acknowledgment: *  "This product includes software developed by the *  Sun Microsystems, Inc. for Project JXTA." *  Alternately, this acknowledgment may appear in the software itself, *  if and wherever such third-party acknowledgments normally appear. * *  4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA" *  must not be used to endorse or promote products derived from this *  software without prior written permission. For written *  permission, please contact Project JXTA at http://www.jxta.org. * *  5. Products derived from this software may not be called "JXTA", *  nor may "JXTA" appear in their name, without prior written *  permission of Sun. * *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *  DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR *  ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF *  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT *  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF *  SUCH DAMAGE. *  ==================================================================== * *  This software consists of voluntary contributions made by many *  individuals on behalf of Project JXTA.  For more *  information on Project JXTA, please see *  <http://www.jxta.org/>. * *  This license is based on the BSD license adopted by the Apache Foundation. * *  $Id: AuthenticationPanel.java,v 1.9 2006/06/09 20:30:38 nano Exp $ */package net.jxta.myjxta.ui;import net.jxta.credential.AuthenticationCredential;import net.jxta.document.Advertisement;import net.jxta.document.AdvertisementFactory;import net.jxta.document.Element;import net.jxta.document.XMLElement;import net.jxta.exception.PeerGroupException;import net.jxta.exception.ProtocolNotSupportedException;import net.jxta.id.ID;import net.jxta.impl.membership.pse.PSEMembershipService;import net.jxta.impl.membership.pse.PSEUtils;import net.jxta.impl.membership.pse.StringAuthenticator;import net.jxta.impl.protocol.PSEConfigAdv;import net.jxta.membership.Authenticator;import net.jxta.membership.MembershipService;import net.jxta.myjxta.View;import net.jxta.myjxta.util.AuthenticationUtil;import net.jxta.myjxta.util.Resources;import net.jxta.peergroup.PeerGroup;import net.jxta.protocol.ConfigParams;import javax.crypto.EncryptedPrivateKeyInfo;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.security.cert.X509Certificate;import java.util.Arrays;import java.util.Iterator;import java.util.NoSuchElementException;import java.util.ResourceBundle;/** * @author james todd [gonzo at jxta dot org] * @version $Id: AuthenticationPanel.java,v 1.9 2006/06/09 20:30:38 nano Exp $ *          <p/> *          borrowed from net.jxta.impl.membership.pse.DialogAuthenticator */public final class AuthenticationPanel        extends JPanel {    private static final String AUTHENTICATOR = "StringAuthentication";    private static final ResourceBundle STRINGS = Resources.getStrings();    private View view = null;    private PeerGroup pg = null;    private X509Certificate cert;    private EncryptedPrivateKeyInfo key;    private MembershipService membership = null;    private Authenticator authenticator = null;    private boolean initKeyStore;    private JPasswordField storePassword;    private JLabel storePasswordLabel;    private JLabel identitiesLabel;    private JComboBox identities;    private JPasswordField identityPassword;    private JLabel identityPasswordLabel;    private JButton ok;    private JButton cancel;    private final boolean isCanceled = true;    private final class Identity {        final ID id;        final X509Certificate cert;        String name;        Identity(ID id, X509Certificate cert) {            this.id = id;            this.cert = cert;            this.name = PSEUtils.getCertSubjectCName(this.cert);            if (this.name == null) {                this.name = "< no common name >";            }            if (this.name.endsWith("-CA")) {                this.name = this.name.substring(0, this.name.length() - 3);            }        }        public String toString() {            return this.name;        }    }    public AuthenticationPanel(View view, PeerGroup pg) {        this.view = view;        this.pg = pg;        init();        ui();    }    public void requestFocus() {        super.requestFocus();        if (this.initKeyStore) {            this.identityPassword.requestFocusInWindow();        } else {            this.storePassword.requestFocusInWindow();        }    }    public ID getIdentity() {        Identity id = null;        if (this.identities.isEnabled()) {            id = (Identity) this.identities.getSelectedItem();        }        return id != null ? id.id : null;    }    public boolean isCanceled() {        return this.isCanceled;    }    public boolean isReadyForJoin() {        return this.authenticator.isReadyForJoin();    }    public void join()            throws PeerGroupException {        this.membership.join(this.authenticator);    }    public void setVisible(boolean isVisible) {        super.setVisible(isVisible);        if (isVisible) {            isValidInput();        }    }    private void init() {        ConfigParams cp = this.pg.getConfigAdvertisement();        Element pi = cp.getServiceParam(PeerGroup.membershipClassID);        if (pi != null) {            Advertisement pa = null;            try {                pa = AdvertisementFactory.newAdvertisement((XMLElement) pi);            } catch (NoSuchElementException nse) {            }            if (pa instanceof PSEConfigAdv) {                PSEConfigAdv pse = (PSEConfigAdv) pa;                PSEMembershipService membershipService = ((PSEMembershipService) this.pg.getMembershipService());                initKeyStore = !membershipService.getPSEConfig().isInitialized();                this.cert = pse.getCertificate();                this.key = pse.getEncryptedPrivateKey();            }        }        //this.initKeyStore = (this.cert != null);        this.membership = pg.getMembershipService();        try {            this.authenticator =                    this.membership.apply(new AuthenticationCredential(this.pg,                            AUTHENTICATOR, null));        } catch (ProtocolNotSupportedException pnse) {        } catch (PeerGroupException pge) {        }    }    private void ui() {        GridBagLayout gb = new GridBagLayout();        GridBagConstraints gbc = new GridBagConstraints();        setLayout(gb);        setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));        this.storePasswordLabel = new JLabel(STRINGS.getString("label.identity.keystore.password"));//        this.storePasswordLabel.setLabelFor(this.storePassword);        gbc.gridx = 0;        gbc.gridy = 0;        gbc.gridwidth = 1;        gbc.gridheight = 1;        gbc.weightx = 1.0;        gbc.weighty = 1.0;        gbc.anchor = GridBagConstraints.FIRST_LINE_START;        gbc.fill = GridBagConstraints.BOTH;        gbc.insets = new Insets(3, 3, 3, 3);        gbc.ipadx = 0;        gbc.ipady = 0;        gb.setConstraints(this.storePasswordLabel, gbc);        add(this.storePasswordLabel);        this.storePassword = new JPasswordField("", 10);//        if (! this.initKeyStore) {        this.storePassword.addKeyListener(new KeyAdapter() {            public void keyReleased(KeyEvent ke) {                final boolean validInput = isValidInput();                ok.setEnabled(validInput);            }        });        if (! this.initKeyStore) {            this.identities = new JComboBox();        } else {            Object[] names = {new Identity(this.pg.getPeerID(),                    this.cert)};            this.identities = new JComboBox(names);            this.identities.setMaximumRowCount(1);        }        gbc.gridx = 1;        gb.setConstraints(this.storePassword, gbc);        add(this.storePassword);        gbc.gridx = 0;        gbc.gridy = 1;        gbc.anchor = GridBagConstraints.LINE_START;        this.identitiesLabel = new JLabel(STRINGS.getString("label.identity"));//        this.identitiesLabel.setLabelFor(this.identities);        gb.setConstraints(this.identitiesLabel, gbc);        add(this.identitiesLabel);        gbc.gridx = 1;        gbc.fill = GridBagConstraints.BOTH;        gb.setConstraints(this.identities, gbc);        add(this.identities);        gbc.gridx = 0;        gbc.gridy = 2;        gbc.fill = GridBagConstraints.BOTH;        this.identityPasswordLabel = new JLabel(STRINGS.getString("label.identity.password"));//        this.identityPasswordLabel.setLabelFor(this.identityPassword);        gb.setConstraints(this.identityPasswordLabel, gbc);        add(this.identityPasswordLabel);        this.identityPassword = new JPasswordField("", 10);        this.identityPassword.addKeyListener(new KeyAdapter() {            public void keyReleased(KeyEvent ke) {                boolean validInput = isValidInput();                ok.setEnabled(validInput);                if (isValidInput())                    ok.requestFocusInWindow();            }        });        this.identityPassword.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                ok.getAction().actionPerformed(null);            }        });        gbc.gridx = 1;        gb.setConstraints(this.identityPassword, gbc);        add(this.identityPassword);        enableIdentities(initKeyStore ? true : false);        JPanel bp = new JPanel(new GridLayout(1, 0));        this.ok = new JButton(new AbstractAction() {            public void actionPerformed(ActionEvent ae) {                char[] kp = storePassword.isEnabled() ?                        storePassword.getPassword() : null;                char[] ip = identityPassword.isEnabled() ?                        identityPassword.getPassword() : null;                if (AuthenticationUtil.authenticate(view, pg,                        String.valueOf(kp), String.valueOf(ip))) {                    exit();                }            }        });        this.ok.setText(STRINGS.getString("action.ok"));        this.ok.setEnabled(isValidInput());        bp.add(this.ok);        this.cancel = new JButton(new AbstractAction() {            public void actionPerformed(ActionEvent ae) {                exit();            }        });        this.cancel.setText(STRINGS.getString("action.cancel"));        this.cancel.addKeyListener(new AbstractButtonKeyListener(this.cancel) {            public void keyReleased(KeyEvent ke) {                getButton().getAction().actionPerformed(null);            }        });        bp.add(this.cancel);        gbc.gridx = 0;        gbc.gridy = 3;        gbc.gridwidth = 2;        gbc.anchor = GridBagConstraints.LAST_LINE_END;        gbc.fill = GridBagConstraints.VERTICAL;        gb.setConstraints(bp, gbc);        add(bp);//        getRootPane().setDefaultButton(this.ok);    }    private void exit() {        getRootPane().getParent().setVisible(false);    }    private boolean isValidInput() {        if (this.initKeyStore) {            boolean b = PSEUtils.pkcs5_Decrypt_pbePrivateKey(this.identityPassword.getPassword(),                    this.cert.getPublicKey().getAlgorithm(), this.key) != null;        } else {            ID[] roots = ((StringAuthenticator) this.authenticator).getIdentities(this.storePassword.getPassword());            boolean enableIdentities = false;            if (roots != null) {                for (Iterator r = Arrays.asList(roots).iterator();                     r.hasNext();) {                    ID p = (ID) r.next();                    try {                        // xxx: assume pse hack                        X509Certificate c =                                ((PSEMembershipService) this.pg.getMembershipService()).getPSEConfig().getTrustedCertificate(p);                        if (! enableIdentities) {                            enableIdentities = true;                            this.identities.removeAllItems();                            this.identities.setSelectedIndex(-1);                        }                        this.identities.addItem(new Identity(p, c));                        this.identities.setSelectedIndex(0);                    } catch (Exception ignore) {                        continue;                    }                }            }            if (enableIdentities) {                this.identities.setMaximumRowCount(this.identities.getItemCount());            } else {                this.identities.removeAllItems();                this.identities.setSelectedIndex(-1);                this.identityPassword.setText("");            }            enableIdentities(enableIdentities);            if (enableIdentities) {                identityPassword.setText(new String(storePassword.getPassword()));                identityPassword.requestFocusInWindow();            }        }        char[] kp = this.storePassword.isEnabled() ?                this.storePassword.getPassword() : null;        char[] ip = this.identityPassword.isEnabled() ?                this.identityPassword.getPassword() : null;        return (kp != null &&                ip != null &&                AuthenticationUtil.authenticate(this.view, this.pg,                        String.valueOf(kp), String.valueOf(ip), false));    }    private void enableIdentities(boolean p_enableIdentities) {        this.identitiesLabel.setEnabled(p_enableIdentities);        this.identities.setEnabled(p_enableIdentities);        this.identityPasswordLabel.setEnabled(p_enableIdentities);        this.identityPassword.setEnabled(p_enableIdentities);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区美女在线| 99re视频精品| 欧美大片拔萝卜| 日韩国产欧美一区二区三区| 欧美日韩1234| 午夜精品久久久久久久久久| 欧美日韩中文字幕一区二区| 一个色妞综合视频在线观看| 91色.com| 玉米视频成人免费看| 色国产综合视频| 亚洲精品精品亚洲| 欧美亚洲动漫另类| 亚洲va中文字幕| 91精品婷婷国产综合久久| 肉丝袜脚交视频一区二区| 欧美精品v日韩精品v韩国精品v| 亚洲成人免费观看| 9191精品国产综合久久久久久 | 国产日韩精品一区二区三区 | 欧美日韩综合在线免费观看| 亚洲不卡av一区二区三区| 5566中文字幕一区二区电影| 青青国产91久久久久久| 精品国产91乱码一区二区三区| 日韩你懂的在线观看| 麻豆91在线看| 久久久电影一区二区三区| 丁香五精品蜜臀久久久久99网站 | 国产精品白丝在线| 色综合色狠狠天天综合色| 亚洲自拍偷拍九九九| 欧美日韩国产一级二级| 奇米综合一区二区三区精品视频| 欧美α欧美αv大片| 国产成人精品一区二区三区网站观看| 亚洲国产精品传媒在线观看| 91在线视频免费观看| 亚洲电影视频在线| 日韩精品在线一区二区| 懂色av中文一区二区三区| 亚洲少妇30p| 制服丝袜日韩国产| 国产一区 二区 三区一级| 中文字幕一区在线| 欧美日韩国产色站一区二区三区| 麻豆91在线观看| 国产精品白丝在线| 91精品久久久久久久91蜜桃| 国产成人a级片| 亚洲精品福利视频网站| 欧美一二三四区在线| 风间由美性色一区二区三区| 亚洲一区二区三区四区五区黄 | 国内外成人在线| 亚洲欧美另类图片小说| 欧美一区二区在线观看| 国产丶欧美丶日本不卡视频| 亚洲欧美日韩成人高清在线一区| 91精品国模一区二区三区| 成人av在线一区二区三区| 亚洲成人激情社区| 国产色爱av资源综合区| 欧洲国内综合视频| 国产老肥熟一区二区三区| 亚洲一区二区中文在线| 国产午夜精品一区二区三区视频| 在线视频你懂得一区二区三区| 极品瑜伽女神91| 亚洲自拍偷拍九九九| 国产无遮挡一区二区三区毛片日本| 欧洲亚洲国产日韩| 国产成人综合在线观看| 亚洲h在线观看| 国产精品视频线看| 日韩三级免费观看| 色综合天天综合网天天狠天天 | 北岛玲一区二区三区四区 | 欧美专区在线观看一区| 国产一区欧美一区| 日日摸夜夜添夜夜添亚洲女人| 中文字幕二三区不卡| 欧美一区二区视频观看视频| 99精品国产一区二区三区不卡| 日韩不卡一区二区| 亚洲欧美国产77777| 久久久久久久综合狠狠综合| 欧美人妇做爰xxxⅹ性高电影| 成人黄色电影在线| 九九国产精品视频| 午夜成人免费电影| 一区二区三区美女| 中文字幕不卡在线观看| 日韩欧美自拍偷拍| 欧美日韩精品一二三区| 91香蕉视频mp4| 国产99精品国产| 激情五月播播久久久精品| 亚洲第一福利一区| 亚洲欧美日韩中文字幕一区二区三区| 久久亚洲一级片| 欧美一级日韩一级| 欧美日韩黄色影视| 一本一道综合狠狠老| 国产.精品.日韩.另类.中文.在线.播放| 日本一不卡视频| 亚洲123区在线观看| 亚洲精品大片www| 亚洲人成精品久久久久| 中文字幕第一页久久| 国产欧美精品一区二区色综合朱莉| 日韩免费在线观看| 日韩一级片网站| 宅男噜噜噜66一区二区66| 欧美日韩国产小视频| 欧美视频中文字幕| 色欧美乱欧美15图片| 99国内精品久久| av午夜一区麻豆| 岛国精品在线播放| 懂色av中文一区二区三区| 国产精品资源站在线| 国产一区二区导航在线播放| 精品在线一区二区| 久久9热精品视频| 久久99热99| 久久成人久久爱| 久久不见久久见中文字幕免费| 男人的天堂久久精品| 天天影视网天天综合色在线播放 | 亚洲成a人片在线不卡一二三区| 一区二区三区免费在线观看| 亚洲激情av在线| 一区二区高清免费观看影视大全| 亚洲免费av高清| 一区二区三区在线播放| 亚洲一二三四区不卡| 亚洲成a人v欧美综合天堂 | 美美哒免费高清在线观看视频一区二区| 亚洲bt欧美bt精品| 青青草成人在线观看| 欧美xxx久久| 2019国产精品| 欧美激情艳妇裸体舞| 中文字幕一区二区日韩精品绯色| 中文字幕一区三区| 亚洲午夜三级在线| 丝袜美腿亚洲综合| 另类小说综合欧美亚洲| 国产一区二区三区| 成人免费高清在线观看| 91免费观看视频| 欧美日韩高清一区| 精品精品国产高清一毛片一天堂| 国产亚洲综合在线| 成人免费在线观看入口| 亚洲主播在线观看| 老汉av免费一区二区三区| 国产美女久久久久| www.欧美亚洲| 欧美午夜精品一区二区三区| 91精品国产综合久久久蜜臀粉嫩| 日韩免费看网站| 日本一区二区视频在线观看| 亚洲免费观看在线视频| 爽好久久久欧美精品| 精品一区二区三区免费播放 | 成人激情开心网| 在线视频一区二区三| 日韩情涩欧美日韩视频| 中文字幕一区二区三区不卡在线 | 国产成人综合精品三级| 91网站视频在线观看| 欧美丰满美乳xxx高潮www| 久久久精品欧美丰满| 夜夜嗨av一区二区三区四季av | 午夜欧美视频在线观看| 另类的小说在线视频另类成人小视频在线| 久久久五月婷婷| 一区二区三区精品| 久草这里只有精品视频| 不卡高清视频专区| 91精品国产乱码久久蜜臀| 亚洲国产精品t66y| 午夜视黄欧洲亚洲| 成人免费毛片高清视频| 欧美高清dvd| 亚洲欧洲三级电影| 日本免费新一区视频| 成人高清伦理免费影院在线观看| 欧美日韩高清一区| 国产精品久久夜| 男女视频一区二区| 91亚洲精品久久久蜜桃网站| 日韩精品一区二区三区蜜臀| 亚洲三级久久久| 国产另类ts人妖一区二区| 欧美情侣在线播放| 中文字幕中文字幕一区| 乱一区二区av|