summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/assertion/generateAssertionCredentials.ts2
-rw-r--r--packages/server/src/assertion/parseAssertionAuthData.ts2
-rw-r--r--packages/server/src/assertion/verifyAssertionResponse.ts4
-rw-r--r--packages/server/src/attestation/generateAttestationCredentials.ts2
-rw-r--r--packages/server/src/attestation/parseAttestationAuthData.ts2
-rw-r--r--packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts4
-rw-r--r--packages/server/src/attestation/verifications/verifyFIDOU2F.ts2
-rw-r--r--packages/server/src/attestation/verifications/verifyNone.ts2
-rw-r--r--packages/server/src/attestation/verifications/verifyPacked.ts2
-rw-r--r--packages/server/src/attestation/verifyAttestationResponse.ts2
-rw-r--r--packages/server/src/helpers/convertCOSEtoPKCS.ts2
-rw-r--r--packages/server/src/helpers/decodeAttestationObject.ts2
-rw-r--r--packages/server/src/helpers/decodeClientDataJSON.ts2
-rw-r--r--packages/server/src/helpers/getCertificateInfo.ts2
-rw-r--r--packages/server/src/index.ts8
-rw-r--r--packages/server/src/libTypes.ts155
16 files changed, 16 insertions, 179 deletions
diff --git a/packages/server/src/assertion/generateAssertionCredentials.ts b/packages/server/src/assertion/generateAssertionCredentials.ts
index 71f9e44..9c6ed65 100644
--- a/packages/server/src/assertion/generateAssertionCredentials.ts
+++ b/packages/server/src/assertion/generateAssertionCredentials.ts
@@ -1,6 +1,6 @@
import base64url from 'base64url';
+import { AssertionCredentials } from '@webauthntine/typescript-types';
-import { AssertionCredentials } from '@libTypes';
/**
* Prepare credentials for user registration via navigator.credentials.get(...)
diff --git a/packages/server/src/assertion/parseAssertionAuthData.ts b/packages/server/src/assertion/parseAssertionAuthData.ts
index e6aa011..bdd636a 100644
--- a/packages/server/src/assertion/parseAssertionAuthData.ts
+++ b/packages/server/src/assertion/parseAssertionAuthData.ts
@@ -1,4 +1,4 @@
-import { ParsedAssertionAuthData } from "@libTypes";
+import { ParsedAssertionAuthData } from "@webauthntine/typescript-types";
/**
* Make sense of the authData buffer contained in an Assertion
diff --git a/packages/server/src/assertion/verifyAssertionResponse.ts b/packages/server/src/assertion/verifyAssertionResponse.ts
index 49cc905..d906e76 100644
--- a/packages/server/src/assertion/verifyAssertionResponse.ts
+++ b/packages/server/src/assertion/verifyAssertionResponse.ts
@@ -1,11 +1,11 @@
import base64url from 'base64url';
-
import {
EncodedAuthenticatorAssertionResponse,
U2F_USER_PRESENTED,
AuthenticatorDevice,
VerifiedAssertion,
-} from "@libTypes";
+} from "@webauthntine/typescript-types";
+
import decodeClientDataJSON from "@helpers/decodeClientDataJSON";
import parseAssertionAuthData from './parseAssertionAuthData';
diff --git a/packages/server/src/attestation/generateAttestationCredentials.ts b/packages/server/src/attestation/generateAttestationCredentials.ts
index a45c21d..2089a20 100644
--- a/packages/server/src/attestation/generateAttestationCredentials.ts
+++ b/packages/server/src/attestation/generateAttestationCredentials.ts
@@ -1,4 +1,4 @@
-import { AttestationCredentials } from '@libTypes';
+import { AttestationCredentials } from '@webauthntine/typescript-types';
/**
* Prepare credentials for user registration via navigator.credentials.create(...)
diff --git a/packages/server/src/attestation/parseAttestationAuthData.ts b/packages/server/src/attestation/parseAttestationAuthData.ts
index 996967d..8326c85 100644
--- a/packages/server/src/attestation/parseAttestationAuthData.ts
+++ b/packages/server/src/attestation/parseAttestationAuthData.ts
@@ -1,4 +1,4 @@
-import { ParsedAttestationAuthData } from "@libTypes";
+import { ParsedAttestationAuthData } from "@webauthntine/typescript-types";
/**
* Make sense of the authData buffer contained in an Attestation
diff --git a/packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts b/packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts
index 874c388..e7853aa 100644
--- a/packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts
+++ b/packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts
@@ -1,12 +1,12 @@
import base64url from 'base64url';
-
import {
AttestationObject,
VerifiedAttestation,
SafetyNetJWTHeader,
SafetyNetJWTPayload,
SafetyNetJWTSignature,
-} from "@libTypes";
+} from "@webauthntine/typescript-types";
+
import toHash from "@helpers/toHash";
import verifySignature from '@helpers/verifySignature';
import convertCOSEtoPKCS from '@helpers/convertCOSEtoPKCS';
diff --git a/packages/server/src/attestation/verifications/verifyFIDOU2F.ts b/packages/server/src/attestation/verifications/verifyFIDOU2F.ts
index 9464053..ad9ef63 100644
--- a/packages/server/src/attestation/verifications/verifyFIDOU2F.ts
+++ b/packages/server/src/attestation/verifications/verifyFIDOU2F.ts
@@ -1,6 +1,6 @@
import base64url from 'base64url';
+import { AttestationObject, VerifiedAttestation, U2F_USER_PRESENTED } from '@webauthntine/typescript-types';
-import { AttestationObject, VerifiedAttestation, U2F_USER_PRESENTED } from '@libTypes';
import toHash from '@helpers/toHash';
import convertCOSEtoPKCS from '@helpers/convertCOSEtoPKCS';
import convertASN1toPEM from '@helpers/convertASN1toPEM';
diff --git a/packages/server/src/attestation/verifications/verifyNone.ts b/packages/server/src/attestation/verifications/verifyNone.ts
index 18e9417..cafb77a 100644
--- a/packages/server/src/attestation/verifications/verifyNone.ts
+++ b/packages/server/src/attestation/verifications/verifyNone.ts
@@ -1,6 +1,6 @@
import base64url from 'base64url';
+import { AttestationObject, VerifiedAttestation } from "@webauthntine/typescript-types";
-import { AttestationObject, VerifiedAttestation } from "@libTypes";
import convertCOSEtoPKCS from "@helpers/convertCOSEtoPKCS";
import parseAttestationAuthData from '../parseAttestationAuthData';
diff --git a/packages/server/src/attestation/verifications/verifyPacked.ts b/packages/server/src/attestation/verifications/verifyPacked.ts
index b63fef0..63b3248 100644
--- a/packages/server/src/attestation/verifications/verifyPacked.ts
+++ b/packages/server/src/attestation/verifications/verifyPacked.ts
@@ -2,8 +2,8 @@ import base64url from 'base64url';
import cbor from 'cbor';
import elliptic from 'elliptic';
import NodeRSA, { SigningSchemeHash } from 'node-rsa';
+import { AttestationObject, VerifiedAttestation, COSEKEYS, COSEPublicKey } from "@webauthntine/typescript-types";
-import { AttestationObject, VerifiedAttestation, COSEKEYS, COSEPublicKey } from "@libTypes";
import convertCOSEtoPKCS from "@helpers/convertCOSEtoPKCS";
import toHash from "@helpers/toHash";
import convertASN1toPEM from '@helpers/convertASN1toPEM';
diff --git a/packages/server/src/attestation/verifyAttestationResponse.ts b/packages/server/src/attestation/verifyAttestationResponse.ts
index 775a150..ad226eb 100644
--- a/packages/server/src/attestation/verifyAttestationResponse.ts
+++ b/packages/server/src/attestation/verifyAttestationResponse.ts
@@ -1,6 +1,6 @@
import decodeAttestationObject from '@helpers/decodeAttestationObject';
import decodeClientDataJSON from '@helpers/decodeClientDataJSON';
-import { ATTESTATION_FORMATS, EncodedAuthenticatorAttestationResponse, VerifiedAttestation } from '@libTypes';
+import { ATTESTATION_FORMATS, EncodedAuthenticatorAttestationResponse, VerifiedAttestation } from '@webauthntine/typescript-types';
import verifyFIDOU2F from './verifications/verifyFIDOU2F';
import verifyPacked from './verifications/verifyPacked';
diff --git a/packages/server/src/helpers/convertCOSEtoPKCS.ts b/packages/server/src/helpers/convertCOSEtoPKCS.ts
index b7784d4..78676c3 100644
--- a/packages/server/src/helpers/convertCOSEtoPKCS.ts
+++ b/packages/server/src/helpers/convertCOSEtoPKCS.ts
@@ -1,6 +1,6 @@
import cbor from 'cbor';
+import { COSEKEYS, COSEPublicKey } from '@webauthntine/typescript-types';
-import { COSEKEYS, COSEPublicKey } from '@libTypes';
/**
* Takes COSE-encoded public key and converts it to PKCS key
diff --git a/packages/server/src/helpers/decodeAttestationObject.ts b/packages/server/src/helpers/decodeAttestationObject.ts
index 224734e..fa39454 100644
--- a/packages/server/src/helpers/decodeAttestationObject.ts
+++ b/packages/server/src/helpers/decodeAttestationObject.ts
@@ -1,7 +1,7 @@
import base64url from 'base64url';
import cbor from 'cbor';
+import { AttestationObject } from '@webauthntine/typescript-types';
-import { AttestationObject } from '@libTypes';
/**
* Convert an AttestationObject from base64 string to a proper object
diff --git a/packages/server/src/helpers/decodeClientDataJSON.ts b/packages/server/src/helpers/decodeClientDataJSON.ts
index 7aae023..1aeb9c9 100644
--- a/packages/server/src/helpers/decodeClientDataJSON.ts
+++ b/packages/server/src/helpers/decodeClientDataJSON.ts
@@ -1,4 +1,4 @@
-import { ClientDataJSON } from '@libTypes';
+import { ClientDataJSON } from '@webauthntine/typescript-types';
import asciiToBinary from './asciiToBinary';
diff --git a/packages/server/src/helpers/getCertificateInfo.ts b/packages/server/src/helpers/getCertificateInfo.ts
index 1779bb3..4238bc2 100644
--- a/packages/server/src/helpers/getCertificateInfo.ts
+++ b/packages/server/src/helpers/getCertificateInfo.ts
@@ -1,6 +1,6 @@
import jsrsasign from 'jsrsasign';
+import { CertificateInfo } from '@webauthntine/typescript-types';
-import { CertificateInfo } from '@libTypes';
/**
* Extract PEM certificate info
diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts
index 356ec2e..2b8c7c9 100644
--- a/packages/server/src/index.ts
+++ b/packages/server/src/index.ts
@@ -9,11 +9,3 @@ export {
generateAttestationCredentials,
verifyAssertionResponse,
};
-
-export {
- EncodedAuthenticatorAssertionResponse,
- EncodedAuthenticatorAttestationResponse,
- VerifiedAttestation,
- VerifiedAssertion,
- AuthenticatorDevice,
-} from './libTypes';
diff --git a/packages/server/src/libTypes.ts b/packages/server/src/libTypes.ts
deleted file mode 100644
index 58cc90c..0000000
--- a/packages/server/src/libTypes.ts
+++ /dev/null
@@ -1,155 +0,0 @@
-/**
- * An object that can be passed into navigator.credentials.create(...) in the browser
- */
-export type AttestationCredentials = {
- publicKey: PublicKeyCredentialCreationOptions,
-};
-
-/**
- * An object that can be passed into navigator.credentials.get(...) in the browser
- */
-export type AssertionCredentials = {
- publicKey: PublicKeyCredentialRequestOptions,
-};
-
-/**
- * A slightly-modified AuthenticatorAttestationResponse to simplify working with ArrayBuffers that
- * are base64-encoded in the browser so that they can be sent as JSON to the server.
- */
-export interface EncodedAuthenticatorAttestationResponse extends Omit<
-AuthenticatorAttestationResponse, 'clientDataJSON' | 'attestationObject'
-> {
- base64ClientDataJSON: string,
- base64AttestationObject: string;
-}
-
-/**
- * A slightly-modified AuthenticatorAttestationResponse to simplify working with ArrayBuffers that
- * are base64-encoded in the browser so that they can be sent as JSON to the server.
- */
-export interface EncodedAuthenticatorAssertionResponse extends Omit<
-AuthenticatorAssertionResponse, 'clientDataJSON' | 'authenticatorData' | 'signature'
-> {
- base64AuthenticatorData: string;
- base64ClientDataJSON: string;
- base64Signature: string;
-}
-
-export enum ATTESTATION_FORMATS {
- FIDO_U2F = 'fido-u2f',
- PACKED = 'packed',
- ANDROID_SAFETYNET = 'android-safetynet',
- NONE = 'none',
-}
-
-export type AttestationObject = {
- fmt: ATTESTATION_FORMATS,
- attStmt: {
- sig?: Buffer,
- x5c?: Buffer[],
- ecdaaKeyId?: Buffer,
- response?: Buffer,
- },
- authData: Buffer,
-};
-
-export type ParsedAttestationAuthData = {
- rpIdHash: Buffer,
- flagsBuf: Buffer,
- flags: {
- up: boolean,
- uv: boolean,
- at: boolean,
- ed: boolean,
- flagsInt: number,
- },
- counter: number,
- counterBuf: Buffer,
- aaguid?: Buffer,
- credentialID?: Buffer,
- COSEPublicKey?: Buffer,
-};
-
-export type ClientDataJSON = {
- type: string,
- challenge: string,
- origin: string,
-};
-
-/**
- * Result of attestation verification
- */
-export type VerifiedAttestation = {
- verified: boolean,
- authenticatorInfo?: {
- fmt: ATTESTATION_FORMATS,
- counter: number,
- base64PublicKey: string,
- base64CredentialID: string,
- },
-};
-
-/**
- * Result of assertion verification
- */
-export type VerifiedAssertion = {
- verified: boolean;
-};
-
-export type CertificateInfo = {
- subject: { [key: string]: string },
- version: number,
- basicConstraintsCA: boolean,
-};
-
-export enum COSEKEYS {
- kty = 1,
- alg = 3,
- crv = -1,
- x = -2,
- y = -3,
- n = -1,
- e = -2,
-}
-
-export type COSEPublicKey = Map<COSEAlgorithmIdentifier, number | Buffer>;
-
-export type SafetyNetJWTHeader = {
- alg: 'string',
- x5c: string[],
-};
-
-export type SafetyNetJWTPayload = {
- nonce: string,
- timestampMs: number,
- apkPackageName: string,
- apkDigestSha256: string,
- ctsProfileMatch: boolean,
- apkCertificateDigestSha256: string[],
- basicIntegrity: boolean,
-};
-
-export type SafetyNetJWTSignature = string;
-
-export type ParsedAssertionAuthData = {
- rpIdHash: Buffer,
- flagsBuf: Buffer,
- flags: number,
- counter: number,
- counterBuf: Buffer,
-};
-
-/**
- * U2F Presence constant
- */
-export const U2F_USER_PRESENTED = 0x01;
-
-/**
- * A WebAuthn-compatible device and the information needed to verify assertions by it
- */
-export type AuthenticatorDevice = {
- base64PublicKey: string,
- base64CredentialID: string,
- // Number of times this device is expected to have been used
- counter: number,
-};