コード例 #1
0
ファイル: Program.cs プロジェクト: forki/U2FExperiments
        private static void TestSoftwareOnly()
        {
            var key = new SimulatedU2FKey(
                TestVectors.VENDOR_CERTIFICATE,
                TestVectors.VENDOR_CERTIFICATE_PRIVATE_KEY,
                new TestKeyPairGenerator(),
                new GuidKeyHandleGenerator(),
                new InMemoryKeyDataStore(),
                new ConsolePresenceVerifier(),
                new BouncyCastleKeyCrypto());

            var server = new U2FServerReferenceImpl(
                new ChallengeGenerator(),
                new InMemoryServerDataStore(new GuidSessionIdGenerator()),
                new BouncyCastleServerCrypto(),
                new [] { "http://example.com", "https://example.com" });

            var client = new U2FClientReferenceImpl(
                BouncyCastleClientCrypto.Instance,
                new SimpleOriginVerifier(new[] { "http://example.com", "https://example.com" }),
                new ChannelProvider(),
                server,
                key,
                SystemClock.Instance);

            client.Register("http://example.com", "vbfox");
            client.Authenticate("http://example.com", "vbfox");
            Console.WriteLine("Done.");
            Console.ReadLine();
        }
コード例 #2
0
        public virtual void TestRegister()
        {
            mockU2FServer.Setup(x => x.GetRegistrationRequest(ACCOUNT_NAME, APP_ID_ENROLL))
            .Returns(new RegisterRequest(U2FConsts.U2Fv2, SERVER_CHALLENGE_ENROLL_BASE64, APP_ID_ENROLL, SESSION_ID));

            mockOriginVerifier.Setup(x => x.ValidateOrigin(APP_ID_ENROLL, ORIGIN));
            mockU2FKey.Setup(x => x.Register(new KeyRegisterRequest(APP_ID_ENROLL_SHA256, BROWSER_DATA_ENROLL_SHA256)))
            .Returns(new KeyRegisterResponse(USER_PUBLIC_KEY_ENROLL_HEX, KEY_HANDLE, VENDOR_CERTIFICATE, SIGNATURE_ENROLL));
            mockU2FServer.Setup(x => x.ProcessRegistrationResponse(new RegisterResponse(REGISTRATION_DATA_BASE64, BROWSER_DATA_ENROLL_BASE64, SESSION_ID), 0L))
            .Returns(new SecurityKeyData(0L, KEY_HANDLE, USER_PUBLIC_KEY_ENROLL_HEX, VENDOR_CERTIFICATE, 0));
            u2FClient.Register(ORIGIN, ACCOUNT_NAME);
        }