public void RegisterResponse_Equals() { RegisterResponse registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); RegisterResponse sameRegisterResponse = RegisterResponse.FromJson<RegisterResponse>(JsonData); Assert.IsTrue(sameRegisterResponse.Equals(registerResponse)); }
public void RawRegisterResponse_Equals() { RegisterResponse registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); RawRegisterResponse rawAuthenticateResponse1 = RawRegisterResponse.FromBase64(registerResponse.RegistrationData); RawRegisterResponse rawAuthenticateResponse = RawRegisterResponse.FromBase64(registerResponse.RegistrationData); Assert.IsTrue(rawAuthenticateResponse.Equals(rawAuthenticateResponse1)); }
public void RawRegisterResponse_FromBase64() { RegisterResponse registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); RawRegisterResponse rawAuthenticateResponse = RawRegisterResponse.FromBase64(registerResponse.RegistrationData); Assert.IsNotNull(rawAuthenticateResponse); Assert.IsNotNull(rawAuthenticateResponse.CreateDevice()); Assert.IsTrue(rawAuthenticateResponse.GetHashCode() != 0); }
/** * Finishes a previously started registration. * * @param startedAuthentication * @param tokenResponse the response from the token/client. * @return a DeviceRegistration object, holding information about the registered device. Servers should * persist this. */ public static DeviceRegistration FinishRegistration(StartedRegistration startedRegistration, RegisterResponse tokenResponse, HashSet<String> facets = null) { ClientData clientData = tokenResponse.GetClientData(); clientData.CheckContent(RegisterType, startedRegistration.Challenge, facets); RawRegisterResponse rawRegisterResponse = RawRegisterResponse.FromBase64(tokenResponse.RegistrationData); rawRegisterResponse.CheckSignature(startedRegistration.AppId, clientData.AsJson()); return rawRegisterResponse.CreateDevice(); }
public void U2F_FinishRegistrationNoFacets() { StartedRegistration startedRegistration = new StartedRegistration(TestConts.SERVER_CHALLENGE_REGISTER_BASE64, TestConts.APP_ID_ENROLL); RegisterResponse registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); var results = U2F.FinishRegistration(startedRegistration, registerResponse); Assert.IsNotNull(results); Assert.IsNotNull(results.KeyHandle); Assert.IsNotNull(results.PublicKey); Assert.IsNotNull(results.GetAttestationCertificate()); }
public void RegisterResponse_ConstructsProperly() { RegisterResponse registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); Assert.IsNotNull(registerResponse); Assert.IsNotNull(registerResponse.GetClientData()); Assert.IsNotNull(registerResponse.ToJson()); Assert.IsTrue(registerResponse.GetHashCode() != 0); Assert.AreEqual(JsonData, registerResponse.ToJson()); Assert.AreEqual(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, registerResponse.RegistrationData); Assert.AreEqual(TestConts.CLIENT_DATA_REGISTER_BASE64, registerResponse.ClientData); }
public void U2F_StartAuthentication() { RegisterResponse registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); RawRegisterResponse rawAuthenticateResponse = RawRegisterResponse.FromBase64(registerResponse.RegistrationData); DeviceRegistration deviceRegistration = rawAuthenticateResponse.CreateDevice(); var results = U2F.StartAuthentication(TestConts.APP_ID_ENROLL, deviceRegistration); Assert.IsNotNull(results); Assert.IsNotNull(results.AppId); Assert.IsNotNull(results.Challenge); Assert.IsNotNull(results.KeyHandle); Assert.IsNotNull(results.Version); }
public void RawRegisterResponse_PackBytesToSign() { RegisterResponse registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); RawRegisterResponse rawAuthenticateResponse = RawRegisterResponse.FromBase64(registerResponse.RegistrationData); byte[] packedBytes = rawAuthenticateResponse.PackBytesToSign( U2F.Crypto.Hash("appid"), U2F.Crypto.Hash(TestConts.CLIENT_DATA_REGISTER), TestConts.KEY_HANDLE_BASE64_BYTE, TestConts.USER_PUBLIC_KEY_AUTHENTICATE_HEX); Assert.IsNotNull(packedBytes); Assert.IsTrue(packedBytes.Length > 0); }
private void CreateResponses() { _startedRegistration = new StartedRegistration(TestConts.SERVER_CHALLENGE_REGISTER_BASE64, TestConts.APP_ID_ENROLL); _registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); _deviceRegistration = new DeviceRegistration( TestConts.KEY_HANDLE_BASE64_BYTE, TestConts.USER_PUBLIC_KEY_AUTHENTICATE_HEX, Utils.Base64StringToByteArray(TestConts.ATTESTATION_CERTIFICATE), 0); _authenticateResponse = new AuthenticateResponse( TestConts.CLIENT_DATA_AUTHENTICATE_BASE64, TestConts.SIGN_RESPONSE_DATA_BASE64, TestConts.KEY_HANDLE_BASE64); _startedAuthentication = new StartedAuthentication( TestConts.SERVER_CHALLENGE_SIGN_BASE64, TestConts.APP_SIGN_ID, TestConts.KEY_HANDLE_BASE64); }
private void CreateResponses() { _registerResponse = new RegisterResponse(TestConts.REGISTRATION_RESPONSE_DATA_BASE64, TestConts.CLIENT_DATA_REGISTER_BASE64); _rawAuthenticateResponse = RawRegisterResponse.FromBase64(_registerResponse.RegistrationData); _deviceRegistration = _rawAuthenticateResponse.CreateDevice(); _authenticateResponse = new AuthenticateResponse(TestConts.CLIENT_DATA_AUTHENTICATE_BASE64, TestConts.SIGN_RESPONSE_DATA_BASE64, TestConts.KEY_HANDLE_BASE64); }