mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 21:27:40 +00:00
GUACAMOLE-774: Different approach to loading MD4 support.
This commit is contained in:
@@ -20,18 +20,17 @@
|
|||||||
package org.apache.guacamole.auth.radius;
|
package org.apache.guacamole.auth.radius;
|
||||||
|
|
||||||
import com.google.inject.AbstractModule;
|
import com.google.inject.AbstractModule;
|
||||||
import java.lang.reflect.Constructor;
|
import java.security.MessageDigest;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
import java.security.Provider;
|
|
||||||
import java.security.Security;
|
import java.security.Security;
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.GuacamoleServerException;
|
|
||||||
import org.apache.guacamole.auth.radius.conf.ConfigurationService;
|
import org.apache.guacamole.auth.radius.conf.ConfigurationService;
|
||||||
import org.apache.guacamole.auth.radius.conf.RadiusAuthenticationProtocol;
|
import org.apache.guacamole.auth.radius.conf.RadiusAuthenticationProtocol;
|
||||||
import org.apache.guacamole.auth.radius.conf.RadiusGuacamoleProperties;
|
import org.apache.guacamole.auth.radius.conf.RadiusGuacamoleProperties;
|
||||||
import org.apache.guacamole.environment.Environment;
|
import org.apache.guacamole.environment.Environment;
|
||||||
import org.apache.guacamole.environment.LocalEnvironment;
|
import org.apache.guacamole.environment.LocalEnvironment;
|
||||||
import org.apache.guacamole.net.auth.AuthenticationProvider;
|
import org.apache.guacamole.net.auth.AuthenticationProvider;
|
||||||
|
import org.bouncycastle.jce.provider.BouncyCastleProvider;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Guice module which configures RADIUS-specific injections.
|
* Guice module which configures RADIUS-specific injections.
|
||||||
@@ -75,26 +74,10 @@ public class RadiusAuthenticationProviderModule extends AbstractModule {
|
|||||||
|| innerProtocol == RadiusAuthenticationProtocol.MSCHAPv2) {
|
|| innerProtocol == RadiusAuthenticationProtocol.MSCHAPv2) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Provider md4Provider;
|
MessageDigest.getInstance("MD4");
|
||||||
Constructor providerConstructor = Provider.class
|
|
||||||
.getConstructor(String.class, String.class, String.class);
|
|
||||||
if (providerConstructor != null)
|
|
||||||
md4Provider = (Provider) providerConstructor
|
|
||||||
.newInstance("MD4", "0.00", "MD4 for MSCHAPv1/2 Support");
|
|
||||||
else
|
|
||||||
md4Provider = (Provider) Provider.class
|
|
||||||
.getConstructor(String.class, Double.class, String.class)
|
|
||||||
.newInstance("MD4", 0.00, "MD4 for MSCHAPv1/2 Support");
|
|
||||||
|
|
||||||
assert(md4Provider != null);
|
|
||||||
md4Provider.put("MessageDigest.MD4", org.bouncycastle.jce.provider.JDKMessageDigest.MD4.class.getName());
|
|
||||||
Security.addProvider(md4Provider);
|
|
||||||
}
|
}
|
||||||
catch (IllegalAccessException
|
catch (NoSuchAlgorithmException e) {
|
||||||
| InstantiationException
|
Security.addProvider(new BouncyCastleProvider());
|
||||||
| InvocationTargetException
|
|
||||||
| NoSuchMethodException e) {
|
|
||||||
throw new GuacamoleServerException("Unable to load MD4 support.", e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user