diff --git a/applet/pom.xml b/applet/pom.xml index a70414f..4409135 100644 --- a/applet/pom.xml +++ b/applet/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - net.jradius jradius-applet ${project.artifactId}-${project.version} 1.1.5-SNAPSHOT diff --git a/apps/pom.xml b/apps/pom.xml index 5fd390b..8e0a89b 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - net.jradius jradius-apps ${project.artifactId}-${project.version} 1.1.6-SNAPSHOT @@ -39,16 +38,6 @@ - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - - diff --git a/client/pom.xml b/client/pom.xml index b6a017d..8636f7a 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - net.jradius jradius-client ${project.artifactId}-${project.version} 1.1.6-SNAPSHOT @@ -38,14 +37,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - org.apache.maven.plugins maven-dependency-plugin diff --git a/core/pom.xml b/core/pom.xml index 9e94014..88d3c7a 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - net.jradius jradius-core ${project.artifactId}-${project.version} 1.1.6-SNAPSHOT @@ -71,15 +70,6 @@ - - - @@ -91,16 +81,6 @@ - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - - diff --git a/dictionary-min/pom.xml b/dictionary-min/pom.xml index 35bc458..7649a9a 100644 --- a/dictionary-min/pom.xml +++ b/dictionary-min/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - net.jradius jradius-dictionary-min ${project.artifactId}-${project.version} 1.1.6-SNAPSHOT @@ -26,35 +25,25 @@ target/dictionary-src - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - - - maven-antrun-plugin - - - generate-sources - - - - - - - - - - - - - - run - - - + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + generate-sources + + java + + + + + net.jradius.freeradius.RadiusDictionary + + net.jradius.dictionary + ${basedir}/../freeradius/dict-min + ${basedir}/target/dictionary-src + + diff --git a/dictionary/pom.xml b/dictionary/pom.xml index 00db4e7..8e6c80e 100644 --- a/dictionary/pom.xml +++ b/dictionary/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - net.jradius jradius-dictionary ${project.artifactId}-${project.version} 1.1.6-SNAPSHOT @@ -25,37 +24,27 @@ target/dictionary-src - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - - - maven-antrun-plugin - - - generate-sources - - - - - - - - - - - - - - run - - - - + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + generate-sources + + java + + + + + net.jradius.freeradius.RadiusDictionary + + net.jradius.dictionary + ${basedir}/../freeradius/dict + ${basedir}/target/dictionary-src + + + diff --git a/example/pom.xml b/example/pom.xml index af2b464..777a57c 100644 --- a/example/pom.xml +++ b/example/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - net.jradius jradius-example ${project.artifactId}-${project.version} 1.1.6-SNAPSHOT @@ -38,14 +37,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - org.apache.maven.plugins maven-surefire-plugin diff --git a/extended/pom.xml b/extended/pom.xml index d834fb5..d3ea013 100644 --- a/extended/pom.xml +++ b/extended/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - net.jradius jradius-extended ${project.artifactId}-${project.version} 1.1.6-SNAPSHOT @@ -30,23 +29,10 @@ org.bouncycastle - bcprov-jdk15 - 1.44 + bcprov-jdk15on + 1.56 - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - - - - diff --git a/extended/src/main/java/net/jradius/client/auth/EAPTLSAuthenticator.java b/extended/src/main/java/net/jradius/client/auth/EAPTLSAuthenticator.java index 8989465..42e0b9b 100644 --- a/extended/src/main/java/net/jradius/client/auth/EAPTLSAuthenticator.java +++ b/extended/src/main/java/net/jradius/client/auth/EAPTLSAuthenticator.java @@ -46,14 +46,14 @@ import net.jradius.tls.DefaultTlsClient; import net.jradius.tls.TlsProtocolHandler; import net.jradius.util.KeyStoreUtil; +import org.bouncycastle.asn1.ASN1Encodable; import org.bouncycastle.asn1.ASN1InputStream; -import org.bouncycastle.asn1.ASN1Object; +import org.bouncycastle.asn1.ASN1Integer; +import org.bouncycastle.asn1.ASN1ObjectIdentifier; +import org.bouncycastle.asn1.ASN1Primitive; import org.bouncycastle.asn1.ASN1Sequence; -import org.bouncycastle.asn1.DEREncodable; -import org.bouncycastle.asn1.DERInteger; -import org.bouncycastle.asn1.DERObject; -import org.bouncycastle.asn1.DERObjectIdentifier; +import org.bouncycastle.asn1.ASN1TaggedObject; import org.bouncycastle.asn1.nist.NISTNamedCurves; import org.bouncycastle.asn1.oiw.ElGamalParameter; import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers; @@ -61,7 +61,7 @@ import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers; import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; import org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure; -import org.bouncycastle.asn1.sec.ECPrivateKeyStructure; +import org.bouncycastle.asn1.sec.ECPrivateKey; import org.bouncycastle.asn1.sec.SECNamedCurves; import org.bouncycastle.asn1.teletrust.TeleTrusTNamedCurves; import org.bouncycastle.asn1.x509.AlgorithmIdentifier; @@ -172,7 +172,7 @@ else if (getCaFile() != null) { ByteArrayInputStream bis = new ByteArrayInputStream(cert.getEncoded()); ASN1InputStream ais = new ASN1InputStream(bis); - DERObject o = ais.readObject(); + ASN1Primitive o = ais.readObject(); tmp.addElement(X509CertificateStructure.getInstance(o)); if (bis.available() > 0) { @@ -561,8 +561,8 @@ public static AsymmetricKeyParameter createKey( throws IOException { return createKey( - PrivateKeyInfo.getInstance( - ASN1Object.fromByteArray(privateKeyInfoData))); + PrivateKeyInfo.getInstance(ASN1TaggedObject.fromByteArray(privateKeyInfoData)) + ); } /** @@ -592,9 +592,8 @@ public static AsymmetricKeyParameter createKey( PrivateKeyInfo keyInfo) throws IOException { - AlgorithmIdentifier algId = keyInfo.getAlgorithmId(); - - if (algId.getObjectId().equals(PKCSObjectIdentifiers.rsaEncryption)) + AlgorithmIdentifier algId = keyInfo.getPrivateKeyAlgorithm(); + if (algId.getAlgorithm().equals(PKCSObjectIdentifiers.rsaEncryption)) { RSAPrivateKeyStructure keyStructure = new RSAPrivateKeyStructure((ASN1Sequence)keyInfo.getPrivateKey()); @@ -608,10 +607,10 @@ public static AsymmetricKeyParameter createKey( keyStructure.getExponent2(), keyStructure.getCoefficient()); } - else if (algId.getObjectId().equals(PKCSObjectIdentifiers.dhKeyAgreement)) + else if (algId.getAlgorithm().equals(PKCSObjectIdentifiers.dhKeyAgreement)) { - DHParameter params = new DHParameter((ASN1Sequence)keyInfo.getAlgorithmId().getParameters()); - DERInteger derX = (DERInteger)keyInfo.getPrivateKey(); + DHParameter params = DHParameter.getInstance(keyInfo.getPrivateKeyAlgorithm().getParameters()); + ASN1Integer derX = (ASN1Integer)keyInfo.parsePrivateKey(); BigInteger lVal = params.getL(); int l = lVal == null ? 0 : lVal.intValue(); @@ -619,35 +618,34 @@ else if (algId.getObjectId().equals(PKCSObjectIdentifiers.dhKeyAgreement)) return new DHPrivateKeyParameters(derX.getValue(), dhParams); } - else if (algId.getObjectId().equals(OIWObjectIdentifiers.elGamalAlgorithm)) + else if (algId.getAlgorithm().equals(OIWObjectIdentifiers.elGamalAlgorithm)) { - ElGamalParameter params = new ElGamalParameter((ASN1Sequence)keyInfo.getAlgorithmId().getParameters()); - DERInteger derX = (DERInteger)keyInfo.getPrivateKey(); + ElGamalParameter params = ElGamalParameter.getInstance(keyInfo.getPrivateKeyAlgorithm().getParameters()); + ASN1Integer derX = (ASN1Integer)keyInfo.parsePrivateKey(); return new ElGamalPrivateKeyParameters(derX.getValue(), new ElGamalParameters(params.getP(), params.getG())); } - else if (algId.getObjectId().equals(X9ObjectIdentifiers.id_dsa)) + else if (algId.getAlgorithm().equals(X9ObjectIdentifiers.id_dsa)) { - DERInteger derX = (DERInteger)keyInfo.getPrivateKey(); - DEREncodable de = keyInfo.getAlgorithmId().getParameters(); + ASN1Integer derX = (ASN1Integer)keyInfo.parsePrivateKey(); + ASN1Encodable de = keyInfo.getPrivateKeyAlgorithm().getParameters(); DSAParameters parameters = null; if (de != null) { - DSAParameter params = DSAParameter.getInstance(de.getDERObject()); + DSAParameter params = DSAParameter.getInstance(de); parameters = new DSAParameters(params.getP(), params.getQ(), params.getG()); } return new DSAPrivateKeyParameters(derX.getValue(), parameters); } - else if (algId.getObjectId().equals(X9ObjectIdentifiers.id_ecPublicKey)) + else if (algId.getAlgorithm().equals(X9ObjectIdentifiers.id_ecPublicKey)) { - X962Parameters params = new X962Parameters((DERObject)keyInfo.getAlgorithmId().getParameters()); + X962Parameters params = X962Parameters.getInstance(keyInfo.getPrivateKeyAlgorithm().getParameters()); ECDomainParameters dParams = null; - if (params.isNamedCurve()) { - DERObjectIdentifier oid = (DERObjectIdentifier)params.getParameters(); + ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) params.getParameters(); X9ECParameters ecP = X962NamedCurves.getByOID(oid); if (ecP == null) @@ -674,8 +672,7 @@ else if (algId.getObjectId().equals(X9ObjectIdentifiers.id_ecPublicKey)) } else { - X9ECParameters ecP = new X9ECParameters( - (ASN1Sequence)params.getParameters()); + X9ECParameters ecP = X9ECParameters.getInstance(params.getParameters()); dParams = new ECDomainParameters( ecP.getCurve(), ecP.getG(), @@ -683,8 +680,7 @@ else if (algId.getObjectId().equals(X9ObjectIdentifiers.id_ecPublicKey)) ecP.getH(), ecP.getSeed()); } - - ECPrivateKeyStructure ec = new ECPrivateKeyStructure((ASN1Sequence)keyInfo.getPrivateKey()); + ECPrivateKey ec = ECPrivateKey.getInstance(keyInfo.getPrivateKeyAlgorithm()); return new ECPrivateKeyParameters(ec.getKey(), dParams); } diff --git a/extended/src/main/java/net/jradius/client/gui/JRadiusSimulator.java b/extended/src/main/java/net/jradius/client/gui/JRadiusSimulator.java index cc65a83..aaebd66 100644 --- a/extended/src/main/java/net/jradius/client/gui/JRadiusSimulator.java +++ b/extended/src/main/java/net/jradius/client/gui/JRadiusSimulator.java @@ -40,6 +40,7 @@ import java.net.ConnectException; import java.net.InetAddress; import java.net.URL; +import java.security.Security; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.ArrayList; @@ -121,6 +122,7 @@ import net.jradius.util.Base64; import net.jradius.util.KeyStoreUtil; import net.jradius.util.RadiusRandom; +import org.bouncycastle.jce.provider.BouncyCastleProvider; /** * Java Swing Graphical User Interface for the JRadius RADIUS Client. @@ -243,7 +245,7 @@ public class JRadiusSimulator extends JFrame public JRadiusSimulator() { super(); - // Security.addProvider(new BouncyCastleProvider()); + Security.addProvider(new BouncyCastleProvider()); String version = System.getProperty("java.version"); if (version.startsWith("1.4")) { diff --git a/extended/src/main/java/net/jradius/tls/Certificate.java b/extended/src/main/java/net/jradius/tls/Certificate.java index 2dbec2c..a051fa6 100644 --- a/extended/src/main/java/net/jradius/tls/Certificate.java +++ b/extended/src/main/java/net/jradius/tls/Certificate.java @@ -6,9 +6,8 @@ import java.io.OutputStream; import java.util.Vector; -import org.bouncycastle.asn1.ASN1Encodable; import org.bouncycastle.asn1.ASN1InputStream; -import org.bouncycastle.asn1.DERObject; +import org.bouncycastle.asn1.ASN1Primitive; import org.bouncycastle.asn1.x509.X509CertificateStructure; /** @@ -41,7 +40,7 @@ public static Certificate parse(InputStream is) throws IOException TlsUtils.readFully(buf, is); ByteArrayInputStream bis = new ByteArrayInputStream(buf); ASN1InputStream ais = new ASN1InputStream(bis); - DERObject o = ais.readObject(); + ASN1Primitive o = ais.readObject(); tmp.addElement(X509CertificateStructure.getInstance(o)); if (bis.available() > 0) { @@ -69,7 +68,7 @@ protected void encode(OutputStream os) throws IOException int totalSize = 0; for (int i = 0; i < this.certs.length; ++i) { - byte[] encCert = certs[i].getEncoded(ASN1Encodable.DER); + byte[] encCert = certs[i].getEncoded(); encCerts.addElement(encCert); totalSize += encCert.length + 3; } diff --git a/extended/src/main/java/net/jradius/tls/TlsDHKeyExchange.java b/extended/src/main/java/net/jradius/tls/TlsDHKeyExchange.java index dee89a9..4050f15 100644 --- a/extended/src/main/java/net/jradius/tls/TlsDHKeyExchange.java +++ b/extended/src/main/java/net/jradius/tls/TlsDHKeyExchange.java @@ -4,7 +4,6 @@ import java.io.InputStream; import java.math.BigInteger; -import org.bouncycastle.asn1.DERBitString; import org.bouncycastle.asn1.x509.KeyUsage; import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo; import org.bouncycastle.asn1.x509.X509CertificateStructure; @@ -242,7 +241,7 @@ private void validateKeyUsage(X509CertificateStructure c, int keyUsageBits) thro X509Extension ext = exts.getExtension(X509Extensions.KeyUsage); if (ext != null) { - DERBitString ku = KeyUsage.getInstance(ext); + KeyUsage ku = KeyUsage.getInstance(ext); int bits = ku.getBytes()[0] & 0xff; if ((bits & keyUsageBits) != keyUsageBits) { diff --git a/extended/src/main/java/net/jradius/tls/TlsDSSSigner.java b/extended/src/main/java/net/jradius/tls/TlsDSSSigner.java index 888495b..2f07669 100644 --- a/extended/src/main/java/net/jradius/tls/TlsDSSSigner.java +++ b/extended/src/main/java/net/jradius/tls/TlsDSSSigner.java @@ -2,11 +2,11 @@ import org.bouncycastle.crypto.CryptoException; import org.bouncycastle.crypto.Signer; +import org.bouncycastle.crypto.digests.NullDigest; import org.bouncycastle.crypto.digests.SHA1Digest; import org.bouncycastle.crypto.params.AsymmetricKeyParameter; import org.bouncycastle.crypto.signers.DSADigestSigner; import org.bouncycastle.crypto.signers.DSASigner; -import org.bouncycastle.jce.provider.util.NullDigest; class TlsDSSSigner implements TlsSigner { diff --git a/extended/src/main/java/net/jradius/tls/TlsProtocolHandler.java b/extended/src/main/java/net/jradius/tls/TlsProtocolHandler.java index 9e4880a..72b21f3 100644 --- a/extended/src/main/java/net/jradius/tls/TlsProtocolHandler.java +++ b/extended/src/main/java/net/jradius/tls/TlsProtocolHandler.java @@ -14,6 +14,7 @@ import javax.net.ssl.TrustManager; import org.bouncycastle.asn1.ASN1Object; +import org.bouncycastle.asn1.ASN1Primitive; import org.bouncycastle.asn1.x509.X509Name; import org.bouncycastle.crypto.prng.ThreadedSeedGenerator; @@ -578,7 +579,7 @@ private void processHandshakeMessage(short type, byte[] buf) throws IOException while (bis.available() > 0) { byte[] dnBytes = TlsUtils.readOpaque16(bis); - authorityDNs.add(X509Name.getInstance(ASN1Object.fromByteArray(dnBytes))); + authorityDNs.add(X509Name.getInstance(ASN1Primitive.fromByteArray(dnBytes))); } this.tlsClient.processServerCertificateRequest(types, authorityDNs); diff --git a/extended/src/main/java/net/jradius/tls/TlsRSAKeyExchange.java b/extended/src/main/java/net/jradius/tls/TlsRSAKeyExchange.java index 2142db2..748ed2f 100644 --- a/extended/src/main/java/net/jradius/tls/TlsRSAKeyExchange.java +++ b/extended/src/main/java/net/jradius/tls/TlsRSAKeyExchange.java @@ -141,7 +141,7 @@ private void validateKeyUsage(X509CertificateStructure c, int keyUsageBits) thro X509Extension ext = exts.getExtension(X509Extensions.KeyUsage); if (ext != null) { - DERBitString ku = KeyUsage.getInstance(ext); + KeyUsage ku = KeyUsage.getInstance(ext); int bits = ku.getBytes()[0] & 0xff; if ((bits & keyUsageBits) != keyUsageBits) { diff --git a/extended/src/main/java/net/jradius/tls/TlsRSASigner.java b/extended/src/main/java/net/jradius/tls/TlsRSASigner.java index a638eb1..1521ef9 100644 --- a/extended/src/main/java/net/jradius/tls/TlsRSASigner.java +++ b/extended/src/main/java/net/jradius/tls/TlsRSASigner.java @@ -2,11 +2,11 @@ import org.bouncycastle.crypto.CryptoException; import org.bouncycastle.crypto.Signer; +import org.bouncycastle.crypto.digests.NullDigest; import org.bouncycastle.crypto.encodings.PKCS1Encoding; import org.bouncycastle.crypto.engines.RSABlindedEngine; import org.bouncycastle.crypto.params.AsymmetricKeyParameter; import org.bouncycastle.crypto.signers.GenericSigner; -import org.bouncycastle.jce.provider.util.NullDigest; class TlsRSASigner implements TlsSigner { diff --git a/extended/src/main/java/net/jradius/tls/TlsSRPKeyExchange.java b/extended/src/main/java/net/jradius/tls/TlsSRPKeyExchange.java index f7dd61b..5fd0f64 100644 --- a/extended/src/main/java/net/jradius/tls/TlsSRPKeyExchange.java +++ b/extended/src/main/java/net/jradius/tls/TlsSRPKeyExchange.java @@ -225,7 +225,7 @@ private void validateKeyUsage(X509CertificateStructure c, int keyUsageBits) thro X509Extension ext = exts.getExtension(X509Extensions.KeyUsage); if (ext != null) { - DERBitString ku = KeyUsage.getInstance(ext); + KeyUsage ku = KeyUsage.getInstance(ext); int bits = ku.getBytes()[0] & 0xff; if ((bits & keyUsageBits) != keyUsageBits) { diff --git a/extended/src/main/java/net/jradius/util/KeyStoreUtil.java b/extended/src/main/java/net/jradius/util/KeyStoreUtil.java index 5b26a94..85d0a7e 100644 --- a/extended/src/main/java/net/jradius/util/KeyStoreUtil.java +++ b/extended/src/main/java/net/jradius/util/KeyStoreUtil.java @@ -36,8 +36,7 @@ import javax.net.ssl.X509TrustManager; import org.bouncycastle.jce.provider.BouncyCastleProvider; -import org.bouncycastle.openssl.PEMReader; -import org.bouncycastle.openssl.PasswordFinder; +import org.bouncycastle.util.io.pem.PemReader; public class KeyStoreUtil { @@ -57,15 +56,11 @@ public static KeyManager[] loadKeyManager(String type, InputStream in, String pa if (type.equalsIgnoreCase("pem")) { - PEMReader pemReader = new PEMReader(new InputStreamReader(in), new PasswordFinder() { - public char[] getPassword() { - return pwd; - } - }); + PemReader pemReader = new PemReader(new InputStreamReader(in)); Object obj, keyObj=null, certObj=null, keyPair=null; - while ((obj = pemReader.readObject()) != null) + while ((obj = pemReader.readPemObject()) != null) { if (obj instanceof X509Certificate) certObj = obj; else if (obj instanceof PrivateKey) keyObj = obj; @@ -141,14 +136,10 @@ public static X509Certificate loadCertificateFromPEM(InputStream in, final char[ { loadBC(); - PEMReader pemReader = new PEMReader(new InputStreamReader(in), new PasswordFinder() { - public char[] getPassword() { - return pwd; - } - }); + PemReader pemReader = new PemReader(new InputStreamReader(in)); Object obj; - while ((obj = pemReader.readObject()) != null) + while ((obj = pemReader.readPemObject()) != null) { if (obj instanceof X509Certificate) { diff --git a/extras/pom.xml b/extras/pom.xml index 917e500..c6f528e 100644 --- a/extras/pom.xml +++ b/extras/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - net.jradius jradius-extras ${project.artifactId}-${project.version} 1.1.6-SNAPSHOT @@ -24,17 +23,4 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - - - - diff --git a/pom.xml b/pom.xml index 31607e1..a132e5c 100644 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,10 @@ 1.1.6-SNAPSHOT JRadius Client/Server Project http://www.coova.org/JRadius + + 1.5 + 1.5 + @@ -67,14 +71,6 @@ maven-release-plugin 2.0-beta-9 - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - -