Giter VIP home page Giter VIP logo

wse's People

Contributors

glusk avatar

Watchers

 avatar

wse's Issues

Can't clone on a Windows machine

git clone fails with the following error message on Windows 10:

warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_A.java'
  'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_a.java'
  'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_B.java'
  'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_b.java'
  'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_S.java'
  'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_s.java'

CodeReview

https://github.com/Glusk2/wse/blob/71028ef255745912b082a144ce9027a610c67152/wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/SRP6HashedSesKey.java#L29

Signature should be redefined to return a byte array.


Classes:

should be renamed in order to avoid confusion regarding the session key. What is now called a session key is more often referred to as <premaster secret> (RFC5054: Appendix B. SRP Test Vectors) or secret (BouncyCastle). In order to obtain a more secure session key, the secret is typically hashed in some way.


Is this (InMemoryRecord) class really needed?


MySqlRecord doesn't handle unknown users properly - RFC5054: 2.5.1.3. Unknown SRP User Name. In order to fix this, the following is needed:

  • HMAC SHA-1 implementation,
  • FakeRecord implementation.

FakeRecord implementation

Implement a fake SRP6 record that always returns the same values for a given user-name (I - identity).

Needed for #28.

SRP-6

WoW uses SRP-6 to authenticate a user with the game server. Furthermore, it makes use of the optimized message ordering as proposed here.

Since Java doesn't ship with an SRP-6 implementation (and since I couldn't find a library online that supports little-endian byte ordered integers), it'll have to be written from scratch.

Project structure

Create an empty maven project structure that compiles without errors.

The idea is to have a multi-module project, containing:

  • A core module with the server implementation
  • A utility module containing code that is generic and can be used on other projects

Logon server

Implement a simple logon server:

  • add database tables
  • implement the actual server
  • add run instructions and a reference configuration file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.