diff options
author | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-03-17 18:25:09 +0100 |
---|---|---|
committer | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-03-17 18:25:09 +0100 |
commit | a9fab8fc750f9f31f1354e6d212eed7305f666b1 (patch) | |
tree | ef618a56c68054f74285201a18c6562a09f85470 /id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java | |
parent | 3dbd5a679a3d695d43729916e2196d2b50b128cf (diff) | |
download | moa-id-spss-a9fab8fc750f9f31f1354e6d212eed7305f666b1.tar.gz moa-id-spss-a9fab8fc750f9f31f1354e6d212eed7305f666b1.tar.bz2 moa-id-spss-a9fab8fc750f9f31f1354e6d212eed7305f666b1.zip |
adding removed modules - backup purpose only - remove it after successful integration
Diffstat (limited to 'id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java')
-rw-r--r-- | id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java b/id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java new file mode 100644 index 000000000..724a522d1 --- /dev/null +++ b/id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java @@ -0,0 +1,69 @@ +package eu.stork.peps.auth.engine; + +import org.bouncycastle.asn1.DERObjectIdentifier; +import org.bouncycastle.jce.X509Principal; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Utility class used to decrease complexity of comparison of 2 X509principal + * + * @author vanegdi + * @version $Revision: 1.00 $, $Date: 2013-05-24 20:53:51 $ + */ +public final class X509PrincipalUtil{ + + private static final DERObjectIdentifier[] DER_OBJECT_IDENTIFIERS_ARRAY= { + X509Principal.CN, + X509Principal.OU, + X509Principal.O, + X509Principal.L, + X509Principal.ST, + X509Principal.C, + X509Principal.E + }; + + private static final Logger LOG = LoggerFactory.getLogger(eu.stork.peps.auth.engine.X509PrincipalUtil.class); + + /** + * Compares 2 X509Principals to detect if they equals + * @param principal1 + * @param principal2 + * @return true if arguments are not null and equals + */ + public static boolean equals(X509Principal principal1, X509Principal principal2) { + boolean continueProcess = true; + if (principal1 == null || principal2 == null){ + return false; + } + + int cpt = 0; + while(continueProcess && cpt < DER_OBJECT_IDENTIFIERS_ARRAY.length){ + continueProcess = continueProcess && x509ValuesByIdentifierEquals(principal1, principal2, DER_OBJECT_IDENTIFIERS_ARRAY[cpt]); + cpt++; + } + return continueProcess; + } + + public static boolean equals2(X509Principal principal1, X509Principal principal2) { + + if (principal1 == null || principal2 == null){ + return false; + } + + if (principal1.getName().equals(principal2.getName())) + return true; + else + return false; + + } + + private static boolean x509ValuesByIdentifierEquals(X509Principal principal1, X509Principal principal2, DERObjectIdentifier identifier){ + return principal1.getValues(identifier).equals(principal2.getValues(identifier)); + } + + private X509PrincipalUtil(){ + // default contructor + LOG.error("Fake X509PrincipalUtil : never be called"); + } +} |