Mac Adresse aus Tomcat

SaxnPaule

Mitglied
Hallo Community,

da das mein erster Post ist, stell ich mich erstmal vor.

Ich bin der Paul, 26 und arbeite als Software-Entwickler in Dresden.


Nun zu meinem Problem:

ich muss von einem Tomcat 6 Webserver eine eindeutige Identifizierung des Hosts herausfinden.

Ich habe da an die Macadresse des primaeren Netzwerkadapters gedacht, was fuer die angedachte Funktionalitaet auch durchaus ausreichend waere.

Leider funktioniert getHardwareAddr() innerhalb des Tomcats nicht (liefert immer null).

Wenn ich testweise die Klasse direkt auf der Commandline ausfuehre funktioniert das Ganze. Als webapp im Tomcat deployed allerdings nicht.

Im Security Manager des Tomcats habe ich allen Klassen meiner Webapp auch testweise saemtliche Rechte (AllPermissions) gegeben, leider ohne Erfolg.

Hat irgendjemand einen Loesungsansatz fuer dieses Problem?
Google hat mir in dieser Hinsicht leider nicht helfen koennen.

Ziel des Ganzen ist ein Lizenzvalidator, der verifiziert, ob die in der Lizenz hinterlegte Macadresse zu der des Hosts passt, auf dem die Webapp laeuft.


MfG SaxnPaule
 
G

Gast2

Gast
Hat jetzt nicht direkt was mit der Lösung deines Problems zu tun, aber haltet ihr das für so geschickt? D.h. wenn mir in meinem Produktionsserver die primäre NIC abraucht muss ich einen neuen Lizenzschlüssel ordern oder aber die MAC Adresse auf der NIC umkonfigurieren? Vor nicht lizensierter Nutzung könnt ihr euch jedenfalls so nicht schützen - nur die ehrlich zahlenden Kunde verärgern.
 

SaxnPaule

Mitglied
Die Anzahl der Kunden ist ueberschaubar und wir haben einen engen Kontakt zu unserer Kundschaft.
Ich denke nicht, dass das ein Problem darstellen sollte.

Du kannst mir aber gerne einen besseren Vorschlag machen, wie ich eine Installation an eine Maschine binden kann.

Was wir auf keinen Fall wollen, ist ein Lizenzserver, der alle x Minuten abgefragt wird, da nicht alle Maschinen der Kunden ins Web koennen.


MfG SaxnPaule
 
M

Marcinek

Gast
Ich glaube, dass das nicht ohne weiteres in Java geht.

Deine Lizenzen können sich auf den Kopf stellen, ich kann immer rein schauen, wie du es gemacht hast und den Mechanismuss austauschen / manipulieren.

Afaik brauchst du eine VM, die verschlüsselte JARs lesen kann.

Dann kannst du aber auch auf einfache RSA Lizenzen zurückgreifen. Aber eine VM, die verschlüsselte JARs lesen kann kostet Geld.

Da musst du prüfen, in wie weit du deinen Kunden traust. Wenn es gute Kunden sind, werden sie deine Software ehh kaufen.

Also würde ich einfach einen LicKey erzeugen pro Modul und das nicht auf die Maschine binden.

Dann würde ich die Lics eher pro User machen.

Gruß,

Marcinek

P.S: Wenn dein Kunde VMs einsetzt können sich die Macadressen täglich ändern. Wenn man VMs zwischen Hostsystemen hin und her kopiert.
 

SaxnPaule

Mitglied
Unsere Kunden sind große namenhafte Unternehmen, die es sich auf keinen Fall leisten werden Vertragsbruch zu begehen.

Die Mac Adresse ist nur der erste Schritt. Logischerweise steht diese nicht als Klartext in der Lizenz sondern ist verschluesselt. Die ganze Lizenz ansich enthaelt auch nochmal eine Checksumme, welche nach einem bestimmten Algorithmus mit ein wenig Salz berechnet und verschluesselt wird. SHA-256 + X

Selbstverstaendlich kann man die Klassen dekompilieren und den Algorithmus dann raussuchen. Aber wie schon gesagt geht es nicht um eine Software, die sich irgendwelche kleinen Cracker installieren, sondern Großkunden.

Natuerlich wird es auch Konzernlizenzen geben, die eine Reihe von MacAdressen enthalten, so dass der Kunde nur eine Lizenz bekommt, welche in dem ganzen Cluster funktioniert.


MfG SaxnPaule
 
M

Marcinek

Gast
Eben.. Das wiederspricht sich ;)

Du hast Großkunden, die ehh brav bezahlen. Warum dann soviel Aufwand betreiben.

Vor allem brauchst du erstmal alle MAC Adressen eines Clusters, da wird dir das Rechenzentrum schon entsprechend was zwitschern ^^

Binden von Lizenzen an Hardwaresignaturen ist veraltet.

Lizenzmodelle wie

Concurrent Clients
Concurrent User
Max User
Per Domain oder sowas sind heute normal.

Diese Informationen verschlüsselst du in einer "Lizenz" und gibst es dem Kunden. Dann kannst du noch per Kunden einen build mit einer eindeutigen BuildID machen für diese ist die Lic gültig.

Ansonsten bleibt meine Aussage: Wenn der Kunde dich betrügen wollte, dann könnte er es machen.

Da er es ehh nicht macht reicht so eine "Formale Lizenz".
 

Michael...

Top Contributor
Kann zur ursprünglichen Frage nicht viel beitragen. Aber was die Lizenzgenierung auf Basis von Hardwaremerkmalen angeht, habe ich nur schlechte Erfahrungen gemacht.
Vor allem bei Firmenkunden, die mehreren Anwendern bedeutet so ein Lizenzmodel nur Aufwand. Mittlerweile handhaben wir das bei uns so, dass bei Software mit mehr als 1000 Anwendern Floatinglizenzen eingesetzt werden müssen, sonst hat die Software keine Chance hat bei uns eingesetzt zu werden.
Nur noch bei Applikationen mit einer Handvoll Anwendern sind aus clientspezifische Lizenzen im Einsatz.
 
G

Gast2

Gast
Schutz vor nicht lizensierter Nutzung von Software ist nahezu ausgeschlossen. Selbst Online Lizensierungsserver, DRM, TCPA, Low Level Systemtreiber usw verzögern die unberechtigte Nutzung nur. Das ist hinlänglich aus der Spiele und Medien Industrie bekannt.

Wenn man dann als Firma aber Produkte für den Enterprise Markt erstellt ist eine Hardware oder OS gebundene Verifikationsmethode der Gültigkeit einer Lizenz einfach nur fehl am Platz.

Wir zahlen mehrere huntertausend Euro im Jahr an Softwarelizensen für unsere paar dutzend Server, hauptsächlich an Oracle und HP. Die kommen auch nicht auf die Idee bei uns die Lizenzen durch zu zählen oder noch besser an die Hardware zu binden. Das ist realistisch gesehn in einem 24x7 Enterprise-Betrieb auch nicht möglich. Wir melden halt genutze Lizenzen an unsere Key Account Manager und die kümmern sich darum das alles korrekt abgerechnet wird. Einal im Jahr wird dann auf freiwilliger Basis nachgezählt und evtl fehlende Lizenzen nachbestellt.

Wie du schon sagtest vertraut ihr euren Kunden. Was spricht also dagegen es genauso zu machen wie alle anderen großen Player a la Oracle, SAP, HP und sogar Microsoft verzichtet auf Hardware gebundene Einzellizensierung in Großunternehmen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
R MAC-Adresse eindeutig für einen PC ? Bezug zu Netzwerk, wieso ? Allgemeine Java-Themen 7
D IP-Adresse der Rechner im Netzwerk auflisten Allgemeine Java-Themen 2
F Ip-Adresse Allgemeine Java-Themen 6
E relative Adresse bei FileInputStream Allgemeine Java-Themen 2
P Die (Windows)MAC-Adresse vor 1.6 Allgemeine Java-Themen 9
S E-Mail an nicht-RFC822-formatierte Adresse Allgemeine Java-Themen 4
N IP-Adresse Eingabe abfragen? Allgemeine Java-Themen 4
B Wert mit Adresse auslesen Allgemeine Java-Themen 11
C IP Adresse mit Java ändern? Allgemeine Java-Themen 9
S eine ip-adresse aus einem String filtern Allgemeine Java-Themen 5
R Bits in eine IP-adresse (string) umwandeln Allgemeine Java-Themen 5
L Ping Probe auf hinteren Teil einer Email Adresse (nach @) Allgemeine Java-Themen 5
E Konflikte bei lokaler Adresse/Port Allgemeine Java-Themen 2
O IP Adresse Allgemeine Java-Themen 3
A gültige syntax einer ip-adresse? Allgemeine Java-Themen 2
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
M tomcat probleme Allgemeine Java-Themen 1
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
W JSP / Tomcat / Filter / Preprocessing Allgemeine Java-Themen 7
G Embedded Tomcat (war vs. jar) Allgemeine Java-Themen 6
R Tomcat startet nicht Allgemeine Java-Themen 1
X Tomcat checkParachute Allgemeine Java-Themen 1
X Encoding in Tomcat Allgemeine Java-Themen 2
X Performance für Tomcat / Apache optimieren Allgemeine Java-Themen 2
A Java Klasse auf Tomcat während der Laufzeit austauschen Allgemeine Java-Themen 1
N Schulung zu Tomcat/JSP/Struts gesucht Allgemeine Java-Themen 0
P Tomcat Deploy path Allgemeine Java-Themen 2
reibi Classpath Classpath Variable beim Tomcat Allgemeine Java-Themen 2
HarleyDavidson Tomcat VS Windows Scheduled Task Allgemeine Java-Themen 4
L Java Version aus Tomcat ermitteln Allgemeine Java-Themen 3
J WindowsServer (12) und Tomcat 7 Allgemeine Java-Themen 14
D Tomcat/Derby Webapp Allgemeine Java-Themen 7
2 JPA und Tomcat Allgemeine Java-Themen 4
S Tomcat java.util.logging - keine Logs Allgemeine Java-Themen 12
H Tomcat: JVM Crash ntdll.dll Allgemeine Java-Themen 2
I Problem mit Tomcat der URL Allgemeine Java-Themen 5
Mr.Isaaaac Tomcat Proxy Einstellungen, hä? Allgemeine Java-Themen 3
P OpenGts,Java,Ant, tomcat Allgemeine Java-Themen 8
T Wie Hibernate im Tomcat installieren? Allgemeine Java-Themen 2
E Einfaches Problem mit Tomcat Allgemeine Java-Themen 18
E welche standalone Version von Tomcat benutzen? Allgemeine Java-Themen 6
S Zwei Anwendungen unter Tomcat Allgemeine Java-Themen 4
S "Guessed User name" bei Tomcat belegen Allgemeine Java-Themen 2
G Servlet über apache Tomcat ansprechen Allgemeine Java-Themen 6
L Tomcat cache Allgemeine Java-Themen 10
L Tomcat erkennt Share nicht Allgemeine Java-Themen 6
H Tomcat VM out of memory Allgemeine Java-Themen 7
M TomCat Login Allgemeine Java-Themen 19
F Was tun bei der Exception? SW: hbernate, tomcat, postgresql Allgemeine Java-Themen 4
I Tomcat, Lucene, Probleme Allgemeine Java-Themen 4
Y PDF Report mit Tomcat Heap Space Problem Allgemeine Java-Themen 9
J Suse + Tomcat + Sysdeo Plugin: Tomcat als user starten Allgemeine Java-Themen 2
franzi Tomcat acceptCount Allgemeine Java-Themen 1
G Tomcat ResourceBundle Allgemeine Java-Themen 7
V Java/Tomcat auf Virtual Server Allgemeine Java-Themen 11
M Java, PHP und Tomcat Allgemeine Java-Themen 4
P Classpath, Tomcat und Eclipse Allgemeine Java-Themen 4
M Java Webserver - Tomcat alleine oder zusammen mit Apache? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben