-
-
Notifications
You must be signed in to change notification settings - Fork 182
/
Copy pathNone.cs
53 lines (47 loc) · 2.07 KB
/
None.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using fido2_net_lib.Test;
using Fido2NetLib;
using Fido2NetLib.Cbor;
using Fido2NetLib.Objects;
using Xunit;
namespace Test.Attestation
{
public class None : Fido2Tests.Attestation
{
public None()
{
_attestationObject = new CborMap { { "fmt", "none" } };
}
[Fact]
public void TestNone()
{
Fido2Tests._validCOSEParameters.ForEach(async ((COSE.KeyType, COSE.Algorithm, COSE.EllipticCurve) param) =>
{
_attestationObject.Add("attStmt", new CborMap());
_credentialPublicKey = Fido2Tests.MakeCredentialPublicKey(param);
Fido2.CredentialMakeResult res = null;
res = await MakeAttestationResponse();
Assert.Equal(string.Empty, res.ErrorMessage);
Assert.Equal("ok", res.Status);
Assert.Equal(_aaguid, res.Result.Aaguid);
Assert.Equal(_signCount, res.Result.Counter);
Assert.Equal("none", res.Result.CredType);
Assert.Equal(_credentialID, res.Result.CredentialId);
Assert.Null(res.Result.ErrorMessage);
Assert.Equal(_credentialPublicKey.GetBytes(), res.Result.PublicKey);
Assert.Null(res.Result.Status);
Assert.Equal("Test User", res.Result.User.DisplayName);
Assert.Equal(System.Text.Encoding.UTF8.GetBytes("testuser"), res.Result.User.Id);
Assert.Equal("testuser", res.Result.User.Name);
_attestationObject = new CborMap { { "fmt", "none" } };
});
}
[Fact]
public void TestNoneWithAttStmt()
{
_attestationObject.Add("attStmt", new CborMap { { "foo", "bar" } });
_credentialPublicKey = Fido2Tests.MakeCredentialPublicKey(Fido2Tests._validCOSEParameters[0]);
var ex = Assert.ThrowsAsync<Fido2VerificationException>(() => MakeAttestationResponse());
Assert.Equal("Attestation format none should have no attestation statement", ex.Result.Message);
}
}
}