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

📄 sesecuritymanagerimpl.java

📁 java 文件下载器。可自定义
💻 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:   SESecurityManagerImpl.java

package org.gudy.azureus2.pluginsimpl.local.utils.security;

import com.aelitis.azureus.core.AzureusCore;
import com.aelitis.azureus.core.security.CryptoHandler;
import com.aelitis.azureus.core.security.CryptoManager;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.Map;
import javax.net.ssl.SSLSocketFactory;
import org.gudy.azureus2.core3.security.SECertificateListener;
import org.gudy.azureus2.core3.security.SEPasswordListener;
import org.gudy.azureus2.core3.security.SESecurityManager;
import org.gudy.azureus2.core3.util.SHA1Hasher;
import org.gudy.azureus2.plugins.messaging.generic.GenericMessageConnection;
import org.gudy.azureus2.plugins.utils.security.CertificateListener;
import org.gudy.azureus2.plugins.utils.security.PasswordListener;
import org.gudy.azureus2.plugins.utils.security.SEPublicKey;
import org.gudy.azureus2.plugins.utils.security.SEPublicKeyLocator;
import org.gudy.azureus2.pluginsimpl.local.messaging.GenericMessageConnectionImpl;

// Referenced classes of package org.gudy.azureus2.pluginsimpl.local.utils.security:
//			SEPublicKeyImpl, SESTSConnectionImpl

public class SESecurityManagerImpl
	implements org.gudy.azureus2.plugins.utils.security.SESecurityManager
{

	private AzureusCore core;
	private Map password_listeners;
	private Map certificate_listeners;

	public SESecurityManagerImpl(AzureusCore _core)
	{
		password_listeners = new HashMap();
		certificate_listeners = new HashMap();
		core = _core;
	}

	public byte[] calculateSHA1(byte data_in[])
	{
		if (data_in == null)
			data_in = new byte[0];
		SHA1Hasher hasher = new SHA1Hasher();
		return hasher.calculateHash(data_in);
	}

	public void runWithAuthenticator(Authenticator authenticator, Runnable target)
	{
		Authenticator.setDefault(authenticator);
		target.run();
		SESecurityManager.installAuthenticator();
		break MISSING_BLOCK_LABEL_22;
		Exception exception;
		exception;
		SESecurityManager.installAuthenticator();
		throw exception;
	}

	public void addPasswordListener(final PasswordListener listener)
	{
		SEPasswordListener sepl = new SEPasswordListener() {

			final PasswordListener val$listener;
			final SESecurityManagerImpl this$0;

			public PasswordAuthentication getAuthentication(String realm, URL tracker)
			{
				return listener.getAuthentication(realm, tracker);
			}

			public void setAuthenticationOutcome(String realm, URL tracker, boolean success)
			{
				listener.setAuthenticationOutcome(realm, tracker, success);
			}

			public void clearPasswords()
			{
			}

			
			{
				this$0 = SESecurityManagerImpl.this;
				listener = passwordlistener;
				super();
			}
		};
		password_listeners.put(listener, sepl);
		SESecurityManager.addPasswordListener(sepl);
	}

	public void removePasswordListener(PasswordListener listener)
	{
		SEPasswordListener sepl = (SEPasswordListener)password_listeners.get(listener);
		if (sepl != null)
			SESecurityManager.removePasswordListener(sepl);
	}

	public void addCertificateListener(final CertificateListener listener)
	{
		SECertificateListener sepl = new SECertificateListener() {

			final CertificateListener val$listener;
			final SESecurityManagerImpl this$0;

			public boolean trustCertificate(String resource, X509Certificate cert)
			{
				return listener.trustCertificate(resource, cert);
			}

			
			{
				this$0 = SESecurityManagerImpl.this;
				listener = certificatelistener;
				super();
			}
		};
		certificate_listeners.put(listener, sepl);
		SESecurityManager.addCertificateListener(sepl);
	}

	public void removeCertificateListener(CertificateListener listener)
	{
		SECertificateListener sepl = (SECertificateListener)certificate_listeners.get(listener);
		if (sepl != null)
			SESecurityManager.removeCertificateListener(sepl);
	}

	public SSLSocketFactory installServerCertificate(URL url)
	{
		return SESecurityManager.installServerCertificates(url);
	}

	public KeyStore getKeyStore()
		throws Exception
	{
		return SESecurityManager.getKeyStore();
	}

	public KeyStore getTrustStore()
		throws Exception
	{
		return SESecurityManager.getTrustStore();
	}

	public Certificate createSelfSignedCertificate(String alias, String cert_dn, int strength)
		throws Exception
	{
		return SESecurityManager.createSelfSignedCertificate(alias, cert_dn, strength);
	}

	public byte[] getIdentity()
	{
		return core.getCryptoManager().getSecureID();
	}

	public SEPublicKey getPublicKey(int key_type, String reason_resource)
		throws Exception
	{
		byte encoded[] = core.getCryptoManager().getECCHandler().getPublicKey(reason_resource);
		return new SEPublicKeyImpl(key_type, encoded);
	}

	public SEPublicKey decodePublicKey(byte encoded[])
	{
		return SEPublicKeyImpl.decode(encoded);
	}

	public GenericMessageConnection getSTSConnection(GenericMessageConnection connection, SEPublicKey my_public_key, SEPublicKeyLocator key_locator, String reason_resource, int block_crypto)
		throws Exception
	{
		return new SESTSConnectionImpl(core, (GenericMessageConnectionImpl)connection, my_public_key, key_locator, reason_resource, block_crypto);
	}
}

⌨️ 快捷键说明

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