📄 sesecuritymanagerimpl.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 + -