Initialer Commit: Kundenverwaltung (PHP/Smarty)

Bestehende Codebasis als Ausgangsstand aufgenommen.

- .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache
  (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen;
  Verzeichnisstruktur ueber .gitkeep erhalten
- .gitattributes: Zeilenenden normalisiert (LF im Repo),
  Binaerformate markiert
- db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der
  Anwendung aus der externen Konfiguration statt hartkodiert aus der
  Datei; Passwort wird ueber eine temporaere Optionsdatei statt per
  Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet,
  Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 16:41:18 +02:00
co-authored by Claude Opus 5
commit e6eb55bc4b
2225 changed files with 1070301 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
# Netbeans project
nbproject/
/index.php
# .pem files from FIDO Alliance Metadata Service (MDS)
_test/rootCertificates/mds/*.pem
_test/rootCertificates/mds/lastMdsFetch.txt
+1
View File
@@ -0,0 +1 @@
deny from all
+22
View File
@@ -0,0 +1,22 @@
MIT License
Copyright © 2022 Lukas Buchs
Copyright © 2018 Thomas Bleeker (CBOR & ByteBuffer part)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+144
View File
@@ -0,0 +1,144 @@
[![Licensed under the MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/lbuchs/WebAuthn/blob/master/LICENSE)
[![Requires PHP 7.1.0](https://img.shields.io/badge/PHP-7.1.0-green.svg)](https://php.net)
[![Last Commit](https://img.shields.io/github/last-commit/lbuchs/WebAuthn.svg)](https://github.com/lbuchs/WebAuthn/commits/master)
# WebAuthn
*A simple PHP WebAuthn (FIDO2) server library*
Goal of this project is to provide a small, lightweight, understandable library to protect logins with passkeys, security keys like Yubico or Solo, fingerprint on Android or Windows Hello.
## Manual
See /_test for a simple usage of this library. Check [webauthn.lubu.ch](https://webauthn.lubu.ch) for a working example.
### Supported attestation statement formats
* android-key &#x2705;
* android-safetynet &#x2705;
* apple &#x2705;
* fido-u2f &#x2705;
* none &#x2705;
* packed &#x2705;
* tpm &#x2705;
> [!NOTE]
> This library supports authenticators which are signed with a X.509 certificate or which are self attested. ECDAA is not supported.
## Workflow
JAVASCRIPT | SERVER
------------------------------------------------------------
REGISTRATION
window.fetch -----------------> getCreateArgs
|
navigator.credentials.create <-------------'
|
'-------------------------> processCreate
|
alert ok or fail <----------------'
------------------------------------------------------------
VALIDATION
window.fetch ------------------> getGetArgs
|
navigator.credentials.get <----------------'
|
'-------------------------> processGet
|
alert ok or fail <----------------'
## Attestation
Typically, when someone logs in, you only need to confirm that they are using the same device they used during
registration. In this scenario, you do not require any form of attestation.
However, if you need additional security, such as when your company mandates the use of a Solokey for login,
you can verify its authenticity through direct attestation. Companies may also purchase authenticators that
are signed with their own root certificate, enabling them to validate that an authenticator is affiliated with
their organization.
### no attestation
just verify that the device is the same device used on registration.
You can use 'none' attestation with this library if you only check 'none' as format.
> [!TIP]
> this is propably what you want to use if you want secure login for a public website.
### indirect attestation
the browser may replace the AAGUID and attestation statement with a more privacy-friendly and/or more easily
verifiable version of the same data (for example, by employing an anonymization CA).
You can not validate against any root ca, if the browser uses a anonymization certificate.
this library sets attestation to indirect, if you select multiple formats but don't provide any root ca.
> [!TIP]
> hybrid soultion, clients may be discouraged by browser warnings but then you know what device they're using (statistics rulez!)
### direct attestation
the browser proviedes data about the identificator device, the device can be identified uniquely. User could be tracked over multiple sites, because of that the browser may show a warning message about providing this data when register.
this library sets attestation to direct, if you select multiple formats and provide root ca's.
> [!TIP]
> this is probably what you want if you know what devices your clients are using and make sure that only this devices are used.
## Passkeys / Client-side discoverable Credentials
A Client-side discoverable Credential Source is a public key credential source whose credential private key is stored in the authenticator,
client or client device. Such client-side storage requires a resident credential capable authenticator.
This is only supported by FIDO2 hardware, not by older U2F hardware.
>[!NOTE]
>Passkeys is a technique that allows sharing credentials stored on the device with other devices. So from a technical standpoint of the server, there is no difference to client-side discoverable credentials. The difference is only that the phone or computer system is automatically syncing the credentials between the users devices via a cloud service. The cross-device sync of passkeys is managed transparently by the OS.
### How does it work?
In a typical server-side key management process, a user initiates a request by entering their username and, in some cases, their password.
The server validates the user's credentials and, upon successful authentication, retrieves a list of all public key identifiers associated with that user account.
This list is then returned to the authenticator, which selects the first credential identifier it issued and responds with a signature that can be verified using the public key registered during the registration process.
In a client-side key process, the user does not need to provide a username or password.
Instead, the authenticator searches its own memory to see if it has saved a key for the relying party (domain).
If a key is found, the authentication process proceeds in the same way as it would if the server had sent a list
of identifiers. There is no difference in the verification process.
### How can I use it with this library?
#### on registration
When calling `WebAuthn\WebAuthn->getCreateArgs`, set `$requireResidentKey` to true,
to notify the authenticator that he should save the registration in its memory.
#### on login
When calling `WebAuthn\WebAuthn->getGetArgs`, don't provide any `$credentialIds` (the authenticator will look up the ids in its own memory and returns the user ID as userHandle).
Set the type of authenticator to `hybrid` (Passkey scanned via QR Code) and `internal` (Passkey stored on the device itself).
#### disadvantage
The RP ID (= domain) is saved on the authenticator. So If an authenticator is lost, its theoretically possible to find the services, which the authenticator is used and login there.
### device support
Availability of built-in passkeys that automatically synchronize to all of a users devices: (see also [passkeys.dev/device-support](https://passkeys.dev/device-support/))
* Apple iOS 16+ / iPadOS 16+ / macOS Ventura+
* Android 9+
* Microsoft Windows 11 23H2+
## Requirements
* PHP >= 8.0 with [OpenSSL](http://php.net/manual/en/book.openssl.php) and [Multibyte String](https://www.php.net/manual/en/book.mbstring.php)
* Browser with [WebAuthn support](https://caniuse.com/webauthn) (Firefox 60+, Chrome 67+, Edge 18+, Safari 13+)
* PHP [Sodium](https://www.php.net/manual/en/book.sodium.php) (or [Sodium Compat](https://github.com/paragonie/sodium_compat) ) for [Ed25519](https://en.wikipedia.org/wiki/EdDSA#Ed25519) support
## Infos about WebAuthn
* [Wikipedia](https://en.wikipedia.org/wiki/WebAuthn)
* [W3C](https://www.w3.org/TR/webauthn/)
* [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API)
* [dev.yubico](https://developers.yubico.com/FIDO2/)
* [FIDO Alliance](https://fidoalliance.org)
* [passkeys](https://passkeys.dev/)
## FIDO2 Hardware
* [Yubico](https://www.yubico.com)
* [Solo](https://solokeys.com) Open Source!
* [Nitrokey](https://www.nitrokey.com/)
* [Feitan](https://fido.ftsafe.com/)
* [TrustKey](https://www.trustkeysolutions.com)
* [Google Titan](https://cloud.google.com/titan-security-key)
* [Egis](https://www.egistec.com/u2f-solution/)
* [OneSpan](https://www.vasco.com/products/two-factor-authenticators/hardware/one-button/digipass-secureclick.html)
* [Hypersecu](https://hypersecu.com/tmp/products/hyperfido)
* [Kensington VeriMark™](https://www.kensington.com/)
* [Token2](https://www.token2.com/shop/category/fido2-keys)
+547
View File
@@ -0,0 +1,547 @@
<!DOCTYPE html>
<!--
Copyright (C) 2022 Lukas Buchs
license https://github.com/lbuchs/WebAuthn/blob/master/LICENSE MIT
-->
<html>
<head>
<title>lbuchs/WebAuthn Test</title>
<meta charset="UTF-8">
<script>
/**
* creates a new FIDO2 registration
* @returns {undefined}
*/
async function createRegistration() {
try {
// check browser support
if (!window.fetch || !navigator.credentials || !navigator.credentials.create) {
throw new Error('Browser not supported.');
}
// get create args
let rep = await window.fetch('server.php?fn=getCreateArgs' + getGetParams(), {method:'GET', cache:'no-cache'});
const createArgs = await rep.json();
// error handling
if (createArgs.success === false) {
throw new Error(createArgs.msg || 'unknown error occured');
}
// replace binary base64 data with ArrayBuffer. a other way to do this
// is the reviver function of JSON.parse()
recursiveBase64StrToArrayBuffer(createArgs);
// create credentials
const cred = await navigator.credentials.create(createArgs);
// create object
const authenticatorAttestationResponse = {
transports: cred.response.getTransports ? cred.response.getTransports() : null,
clientDataJSON: cred.response.clientDataJSON ? arrayBufferToBase64(cred.response.clientDataJSON) : null,
attestationObject: cred.response.attestationObject ? arrayBufferToBase64(cred.response.attestationObject) : null
};
// check auth on server side
rep = await window.fetch('server.php?fn=processCreate' + getGetParams(), {
method : 'POST',
body : JSON.stringify(authenticatorAttestationResponse),
cache : 'no-cache'
});
const authenticatorAttestationServerResponse = await rep.json();
// prompt server response
if (authenticatorAttestationServerResponse.success) {
reloadServerPreview();
window.alert(authenticatorAttestationServerResponse.msg || 'registration success');
} else {
throw new Error(authenticatorAttestationServerResponse.msg);
}
} catch (err) {
reloadServerPreview();
window.alert(err.message || 'unknown error occured');
}
}
/**
* checks a FIDO2 registration
* @returns {undefined}
*/
async function checkRegistration() {
try {
if (!window.fetch || !navigator.credentials || !navigator.credentials.create) {
throw new Error('Browser not supported.');
}
// get check args
let rep = await window.fetch('server.php?fn=getGetArgs' + getGetParams(), {method:'GET',cache:'no-cache'});
const getArgs = await rep.json();
// error handling
if (getArgs.success === false) {
throw new Error(getArgs.msg);
}
// replace binary base64 data with ArrayBuffer. a other way to do this
// is the reviver function of JSON.parse()
recursiveBase64StrToArrayBuffer(getArgs);
// check credentials with hardware
const cred = await navigator.credentials.get(getArgs);
// create object for transmission to server
const authenticatorAttestationResponse = {
id: cred.rawId ? arrayBufferToBase64(cred.rawId) : null,
clientDataJSON: cred.response.clientDataJSON ? arrayBufferToBase64(cred.response.clientDataJSON) : null,
authenticatorData: cred.response.authenticatorData ? arrayBufferToBase64(cred.response.authenticatorData) : null,
signature: cred.response.signature ? arrayBufferToBase64(cred.response.signature) : null,
userHandle: cred.response.userHandle ? arrayBufferToBase64(cred.response.userHandle) : null
};
// send to server
rep = await window.fetch('server.php?fn=processGet' + getGetParams(), {
method:'POST',
body: JSON.stringify(authenticatorAttestationResponse),
cache:'no-cache'
});
const authenticatorAttestationServerResponse = await rep.json();
// check server response
if (authenticatorAttestationServerResponse.success) {
reloadServerPreview();
window.alert(authenticatorAttestationServerResponse.msg || 'login success');
} else {
throw new Error(authenticatorAttestationServerResponse.msg);
}
} catch (err) {
reloadServerPreview();
window.alert(err.message || 'unknown error occured');
}
}
function clearRegistration() {
window.fetch('server.php?fn=clearRegistrations' + getGetParams(), {method:'GET',cache:'no-cache'}).then(function(response) {
return response.json();
}).then(function(json) {
if (json.success) {
reloadServerPreview();
window.alert(json.msg);
} else {
throw new Error(json.msg);
}
}).catch(function(err) {
reloadServerPreview();
window.alert(err.message || 'unknown error occured');
});
}
function queryFidoMetaDataService() {
window.fetch('server.php?fn=queryFidoMetaDataService' + getGetParams(), {method:'GET',cache:'no-cache'}).then(function(response) {
return response.json();
}).then(function(json) {
if (json.success) {
window.alert(json.msg);
} else {
throw new Error(json.msg);
}
}).catch(function(err) {
window.alert(err.message || 'unknown error occured');
});
}
/**
* convert RFC 1342-like base64 strings to array buffer
* @param {mixed} obj
* @returns {undefined}
*/
function recursiveBase64StrToArrayBuffer(obj) {
let prefix = '=?BINARY?B?';
let suffix = '?=';
if (typeof obj === 'object') {
for (let key in obj) {
if (typeof obj[key] === 'string') {
let str = obj[key];
if (str.substring(0, prefix.length) === prefix && str.substring(str.length - suffix.length) === suffix) {
str = str.substring(prefix.length, str.length - suffix.length);
let binary_string = window.atob(str);
let len = binary_string.length;
let bytes = new Uint8Array(len);
for (let i = 0; i < len; i++) {
bytes[i] = binary_string.charCodeAt(i);
}
obj[key] = bytes.buffer;
}
} else {
recursiveBase64StrToArrayBuffer(obj[key]);
}
}
}
}
/**
* Convert a ArrayBuffer to Base64
* @param {ArrayBuffer} buffer
* @returns {String}
*/
function arrayBufferToBase64(buffer) {
let binary = '';
let bytes = new Uint8Array(buffer);
let len = bytes.byteLength;
for (let i = 0; i < len; i++) {
binary += String.fromCharCode( bytes[ i ] );
}
return window.btoa(binary);
}
/**
* Get URL parameter
* @returns {String}
*/
function getGetParams() {
let url = '';
url += '&apple=' + (document.getElementById('cert_apple').checked ? '1' : '0');
url += '&yubico=' + (document.getElementById('cert_yubico').checked ? '1' : '0');
url += '&solo=' + (document.getElementById('cert_solo').checked ? '1' : '0');
url += '&hypersecu=' + (document.getElementById('cert_hypersecu').checked ? '1' : '0');
url += '&google=' + (document.getElementById('cert_google').checked ? '1' : '0');
url += '&microsoft=' + (document.getElementById('cert_microsoft').checked ? '1' : '0');
url += '&mds=' + (document.getElementById('cert_mds').checked ? '1' : '0');
url += '&requireResidentKey=' + (document.getElementById('requireResidentKey').checked ? '1' : '0');
url += '&type_usb=' + (document.getElementById('type_usb').checked ? '1' : '0');
url += '&type_nfc=' + (document.getElementById('type_nfc').checked ? '1' : '0');
url += '&type_ble=' + (document.getElementById('type_ble').checked ? '1' : '0');
url += '&type_int=' + (document.getElementById('type_int').checked ? '1' : '0');
url += '&type_hybrid=' + (document.getElementById('type_hybrid').checked ? '1' : '0');
url += '&fmt_android-key=' + (document.getElementById('fmt_android-key').checked ? '1' : '0');
url += '&fmt_android-safetynet=' + (document.getElementById('fmt_android-safetynet').checked ? '1' : '0');
url += '&fmt_apple=' + (document.getElementById('fmt_apple').checked ? '1' : '0');
url += '&fmt_fido-u2f=' + (document.getElementById('fmt_fido-u2f').checked ? '1' : '0');
url += '&fmt_none=' + (document.getElementById('fmt_none').checked ? '1' : '0');
url += '&fmt_packed=' + (document.getElementById('fmt_packed').checked ? '1' : '0');
url += '&fmt_tpm=' + (document.getElementById('fmt_tpm').checked ? '1' : '0');
url += '&rpId=' + encodeURIComponent(document.getElementById('rpId').value);
url += '&userId=' + encodeURIComponent(document.getElementById('userId').value);
url += '&userName=' + encodeURIComponent(document.getElementById('userName').value);
url += '&userDisplayName=' + encodeURIComponent(document.getElementById('userDisplayName').value);
if (document.getElementById('userVerification_required').checked) {
url += '&userVerification=required';
} else if (document.getElementById('userVerification_preferred').checked) {
url += '&userVerification=preferred';
} else if (document.getElementById('userVerification_discouraged').checked) {
url += '&userVerification=discouraged';
}
return url;
}
function reloadServerPreview() {
let iframe = document.getElementById('serverPreview');
iframe.src = iframe.src;
}
function setAttestation(attestation) {
let inputEls = document.getElementsByTagName('input');
for (const inputEl of inputEls) {
if (inputEl.id && inputEl.id.match(/^(fmt|cert)\_/)) {
inputEl.disabled = !attestation;
}
if (inputEl.id && inputEl.id.match(/^fmt\_/)) {
inputEl.checked = attestation ? inputEl.id !== 'fmt_none' : inputEl.id === 'fmt_none';
}
if (inputEl.id && inputEl.id.match(/^cert\_/)) {
inputEl.checked = attestation ? inputEl.id === 'cert_mds' : false;
}
}
}
/**
* force https on load
* @returns {undefined}
*/
window.onload = function() {
if (!window.isSecureContext && location.protocol !== 'https:') {
location.href = location.href.replace('http://', 'https://');
}
if (!document.getElementById('rpId').value) {
document.getElementById('rpId').value = location.hostname;
}
if (!document.getElementById('attestation_yes').checked) {
setAttestation(false);
}
}
</script>
<style>
body {
font-family:sans-serif;
margin: 0 20px;
padding: 0;
}
.splitter {
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 0;
padding: 0;
}
.splitter > .form {
flex: 1;
min-width: 600px;
}
.splitter > .serverPreview {
width: 740px;
min-height: 700px;
margin: 0;
padding: 0;
border: 1px solid grey;
display: flex;
flex-direction: column;
}
.splitter > .serverPreview iframe {
width: 700px;
flex: 1;
border: 0;
}
</style>
</head>
<body>
<h1 style="margin: 40px 10px 2px 0;">lbuchs/WebAuthn</h1>
<div style="font-style: italic;">A simple PHP WebAuthn (FIDO2) server library.</div>
<div class="splitter">
<div class="form">
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Simple working demo for the <a href="https://github.com/lbuchs/WebAuthn">lbuchs/WebAuthn</a> library.</div>
<div>
<div>&nbsp;</div>
<table>
<tbody><tr>
<td>
<button type="button" onclick="createRegistration()">&#10133; new registration</button>
</td>
<td>
<button type="button" onclick="checkRegistration()">&#10068; check registration</button>
</td>
<td>
<button type="button" onclick="clearRegistration()">&#9249; clear all registrations</button>
</td>
</tr>
</tbody>
</table>
<div>&nbsp;</div>
<div>
<input type="checkbox" id="requireResidentKey" name="requireResidentKey">
<label for="requireResidentKey">Use Client-side discoverable Credentials / Passkeys
<i style="font-size: 0.8em;">Warning: most client-side modules and authenticators don't allow to delete single client side credentials.
You have to reset the full device to remove the credentials again.</i>
</label>
</div>
<div>&nbsp;</div>
<div style="font-weight: bold">Relying Party</div>
<p style="margin:0 0 5px 0;font-size:0.9em;font-style: italic;">A valid domain string that identifies the
WebAuthn Relying Party<br/>on whose behalf a given registration or authentication ceremony is being performed.</p>
<div>
<label for="rpId">RP ID:</label>
<input type="text" id="rpId" name="rpId" value="">
</div>
<div>&nbsp;</div>
<div style="font-weight: bold">User</div>
<div style="margin-bottom:12px">
<label for="userId">User ID (Hex):</label>
<input type="text" id="userId" name="userId" value="64656d6f64656d6f" required pattern="[0-9a-fA-F]{2,}">
<i style="font-size: 0.8em;">You get the user ID back when checking registration (as userHandle), if you're using client-side discoverable credentials.
You can identify with this ID the user who wants to login.
A user handle is an opaque byte sequence with a maximum size of 64 bytes, and is not meant to be displayed to the user.
The user handle MUST NOT contain personally identifying information about the user, such as a username or e-mail address.</i>
</div>
<div style="margin-bottom:12px">
<label for="userName">User Name:</label>
<input type="text" id="userName" name="userName" value="demo" required pattern="[0-9a-zA-Z]{2,}">
<i style="font-size: 0.8em;">only for display, i.e., aiding the user in determining the difference between user accounts with similar display names.</i>
</div>
<div style="margin-bottom:6px">
<label for="userDisplayName">User Display Name:</label>
<input type="text" id="userDisplayName" name="userDisplayName" value="Demo Demolin" required>
<i style="font-size: 0.8em;">A human-palatable name for the user account, intended only for display.</i>
</div>
<div>&nbsp;</div>
<div style="font-weight: bold">user verification</div>
<div>
<input type="radio" id="userVerification_required" name="userVerification">
<label for="userVerification_required">required <i style="font-size: 0.8em;">User verification is required (e.g. by pin), the operation will fail if the response does not have the UV flag.</i></label>
</div>
<div>
<input type="radio" id="userVerification_preferred" name="userVerification">
<label for="userVerification_preferred">preferred <i style="font-size: 0.8em;">user verification is prefered, the operation will not fail if the response does not have the UV flag.</i></label>
</div>
<div>
<input type="radio" id="userVerification_discouraged" name="userVerification" checked>
<label for="userVerification_discouraged">discouraged <i style="font-size: 0.8em;">user verification should not be employed as to minimize the user interaction during the process.</i></label>
</div>
<div>&nbsp;</div>
<div style="font-weight: bold">type of authenticator</div>
<div>
<input type="checkbox" id="type_usb" name="type_usb" checked>
<label for="type_usb">USB</label>
</div>
<div>
<input type="checkbox" id="type_nfc" name="type_nfc" checked>
<label for="type_nfc">NFC</label>
</div>
<div>
<input type="checkbox" id="type_ble" name="type_ble" checked>
<label for="type_ble">BLE</label>
</div>
<div>
<input type="checkbox" id="type_hybrid" name="type_hybrid" checked>
<label for="type_hybrid">hybrid <i style="font-size: 0.8em;">Passkeys via mobile device, ...</i></label>
</div>
<div>
<input type="checkbox" id="type_int" name="type_int" checked>
<label for="type_int">internal <i style="font-size: 0.8em;">Passkeys on the device, Windows Hello, Android SafetyNet, Apple, ...</i></label>
</div>
<div>&nbsp;</div>
<div style="font-weight: bold">attestation</div>
<div>
<input type="radio" id="attestation_yes" value="yes" name="attestation" onchange="setAttestation(this.value === 'yes')" checked>
<label for="attestation_yes">yes</label>
</div>
<div>
<input type="radio" id="attestation_no" value="no" name="attestation" onchange="setAttestation(this.value === 'yes')">
<label for="attestation_no">no</label>
</div>
<div>&nbsp;</div>
<div style="font-weight: bold">attestation statement format</div>
<div>
<input type="checkbox" id="fmt_android-key" name="fmt_android-key" checked>
<label for="fmt_android-key">android-key</label>
</div>
<div>
<input type="checkbox" id="fmt_android-safetynet" name="fmt_android-safetynet" checked>
<label for="fmt_android-safetynet">android-safetynet</label>
</div>
<div>
<input type="checkbox" id="fmt_apple" name="fmt_apple" checked>
<label for="fmt_apple">apple</label>
</div>
<div>
<input type="checkbox" id="fmt_fido-u2f" name="fmt_fido-u2f" checked>
<label for="fmt_fido-u2f">fido-u2f</label>
</div>
<div>
<input type="checkbox" id="fmt_none" name="fmt_none">
<label for="fmt_none">none</label>
</div>
<div>
<input type="checkbox" id="fmt_packed" name="fmt_packed" checked>
<label for="fmt_packed">packed</label>
</div>
<div>
<input type="checkbox" id="fmt_tpm" name="fmt_tpm" checked>
<label for="fmt_tpm">tpm</label>
</div>
<div>&nbsp;</div>
<div style="font-weight: bold">attestation root certificates</div>
<div>
<input type="checkbox" id="cert_mds" name="mds" checked>
<label for="cert_mds">Accept keys signed by <a href="https://fidoalliance.org/metadata/" target="_blank">FIDO Alliance Metadata Service</a></label>
</div>
<div>
<input type="checkbox" id="cert_apple" name="apple">
<label for="cert_apple">Accept keys signed by apple root ca</label>
</div>
<div>
<input type="checkbox" id="cert_yubico" name="yubico">
<label for="cert_yubico">Accept keys signed by yubico root ca</label>
</div>
<div>
<input type="checkbox" id="cert_solo" name="solo">
<label for="cert_solo">Accept keys signed by solokeys root ca</label>
</div>
<div>
<input type="checkbox" id="cert_hypersecu" name="hypersecu">
<label for="cert_hypersecu">Accept keys signed by hypersecu root ca</label>
</div>
<div>
<input type="checkbox" id="cert_google" name="google">
<label for="cert_google">Accept keys signed by google root ca</label>
</div>
<div>
<input type="checkbox" id="cert_microsoft" name="microsoft">
<label for="cert_microsoft">Accept keys signed by Microsofts collection of trusted TPM root ca</label>
</div>
<div style="font-size: 0.7em">(Nothing checked = accept all)</div>
<div>&nbsp;</div>
<div>
<button type="button" onclick="queryFidoMetaDataService()">&#128472; update root certificates from FIDO Alliance Metadata Service (MDS)</button>
</div>
<div>&nbsp;</div>
<div>If you select a root ca, direct attestation is required to validate your client with the root.<br>
The browser may warn you that he will provide informations about your device.<br>
When not checking against any root ca (deselect all certificates),
the client may change the assertion from the authenticator (for instance, using an anonymization CA),<br>
the browser may not warn about providing informations about your device.
</div>
<div style="margin-top:20px;font-size: 0.7em;font-style: italic">
Copyright &copy; 2023 Lukas Buchs - <a href="https://raw.githubusercontent.com/lbuchs/WebAuthn/master/LICENSE">license therms</a>
</div>
</div>
</div>
<div class="serverPreview">
<p style="margin-left:10px;font-weight: bold;">Here you can see what's saved on the server:</p>
<iframe src="server.php?fn=getStoredDataHtml" id="serverPreview"></iframe>
</div>
<div>
</body>
</html>
@@ -0,0 +1,48 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
68:1d:01:6c:7a:3c:e3:02:25:a5:01:94:28:47:57:71
Signature Algorithm: ecdsa-with-SHA384
Issuer:
stateOrProvinceName = California
organizationName = Apple Inc.
commonName = Apple WebAuthn Root CA
Validity
Not Before: Mar 18 18:21:32 2020 GMT
Not After : Mar 15 00:00:00 2045 GMT
Subject:
stateOrProvinceName = California
organizationName = Apple Inc.
commonName = Apple WebAuthn Root CA
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
ASN1 OID: secp384r1
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Subject Key Identifier:
26:D7:64:D9:C5:78:C2:5A:67:D1:A7:DE:6B:12:D0:1B:63:F1:C6:D7
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
-----BEGIN CERTIFICATE-----
MIICEjCCAZmgAwIBAgIQaB0BbHo84wIlpQGUKEdXcTAKBggqhkjOPQQDAzBLMR8w
HQYDVQQDDBZBcHBsZSBXZWJBdXRobiBSb290IENBMRMwEQYDVQQKDApBcHBsZSBJ
bmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMB4XDTIwMDMxODE4MjEzMloXDTQ1MDMx
NTAwMDAwMFowSzEfMB0GA1UEAwwWQXBwbGUgV2ViQXV0aG4gUm9vdCBDQTETMBEG
A1UECgwKQXBwbGUgSW5jLjETMBEGA1UECAwKQ2FsaWZvcm5pYTB2MBAGByqGSM49
AgEGBSuBBAAiA2IABCJCQ2pTVhzjl4Wo6IhHtMSAzO2cv+H9DQKev3//fG59G11k
xu9eI0/7o6V5uShBpe1u6l6mS19S1FEh6yGljnZAJ+2GNP1mi/YK2kSXIuTHjxA/
pcoRf7XkOtO4o1qlcaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUJtdk
2cV4wlpn0afeaxLQG2PxxtcwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA
MGQCMFrZ+9DsJ1PW9hfNdBywZDsWDbWFp28it1d/5w2RPkRX3Bbn/UbDTNLx7Jr3
jAGGiQIwHFj+dJZYUJR786osByBelJYsVZd2GbHQu209b5RCmGQ21gpSAk9QZW4B
1bWeT0vT
-----END CERTIFICATE-----
@@ -0,0 +1,37 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
04:00:00:00:00:01:0f:86:26:e6:0d
Signature Algorithm: sha1WithRSAEncryption
Issuer: OU=GlobalSign Root CA - R2, O=GlobalSign, CN=GlobalSign
Validity
Not Before: Dec 15 08:00:00 2006 GMT
Not After : Dec 15 08:00:00 2021 GMT
Subject: OU=GlobalSign Root CA - R2, O=GlobalSign, CN=GlobalSign
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
-----END CERTIFICATE-----
@@ -0,0 +1,130 @@
Google Hardware Attestation Root certificate
----------------------------------------------
https://developer.android.com/training/articles/security-key-attestation.html
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
e8:fa:19:63:14:d2:fa:18
Signature Algorithm: sha256WithRSAEncryption
Issuer: serialNumber = f92009e853b6b045
Validity
Not Before: May 26 16:28:52 2016 GMT
Not After : May 24 16:28:52 2026 GMT
Subject: serialNumber = f92009e853b6b045
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
36:61:E1:00:7C:88:05:09:51:8B:44:6C:47:FF:1A:4C:C9:EA:4F:12
X509v3 Authority Key Identifier:
keyid:36:61:E1:00:7C:88:05:09:51:8B:44:6C:47:FF:1A:4C:C9:EA:4F:12
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Digital Signature, Certificate Sign, CRL Sign
X509v3 CRL Distribution Points:
Full Name:
URI:https://android.googleapis.com/attestation/crl/
Signature Algorithm: sha256WithRSAEncryption
-----BEGIN CERTIFICATE-----
MIIFYDCCA0igAwIBAgIJAOj6GWMU0voYMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV
BAUTEGY5MjAwOWU4NTNiNmIwNDUwHhcNMTYwNTI2MTYyODUyWhcNMjYwNTI0MTYy
ODUyWjAbMRkwFwYDVQQFExBmOTIwMDllODUzYjZiMDQ1MIICIjANBgkqhkiG9w0B
AQEFAAOCAg8AMIICCgKCAgEAr7bHgiuxpwHsK7Qui8xUFmOr75gvMsd/dTEDDJdS
Sxtf6An7xyqpRR90PL2abxM1dEqlXnf2tqw1Ne4Xwl5jlRfdnJLmN0pTy/4lj4/7
tv0Sk3iiKkypnEUtR6WfMgH0QZfKHM1+di+y9TFRtv6y//0rb+T+W8a9nsNL/ggj
nar86461qO0rOs2cXjp3kOG1FEJ5MVmFmBGtnrKpa73XpXyTqRxB/M0n1n/W9nGq
C4FSYa04T6N5RIZGBN2z2MT5IKGbFlbC8UrW0DxW7AYImQQcHtGl/m00QLVWutHQ
oVJYnFPlXTcHYvASLu+RhhsbDmxMgJJ0mcDpvsC4PjvB+TxywElgS70vE0XmLD+O
JtvsBslHZvPBKCOdT0MS+tgSOIfga+z1Z1g7+DVagf7quvmag8jfPioyKvxnK/Eg
sTUVi2ghzq8wm27ud/mIM7AY2qEORR8Go3TVB4HzWQgpZrt3i5MIlCaY504LzSRi
igHCzAPlHws+W0rB5N+er5/2pJKnfBSDiCiFAVtCLOZ7gLiMm0jhO2B6tUXHI/+M
RPjy02i59lINMRRev56GKtcd9qO/0kUJWdZTdA2XoS82ixPvZtXQpUpuL12ab+9E
aDK8Z4RHJYYfCT3Q5vNAXaiWQ+8PTWm2QgBR/bkwSWc+NpUFgNPN9PvQi8WEg5Um
AGMCAwEAAaOBpjCBozAdBgNVHQ4EFgQUNmHhAHyIBQlRi0RsR/8aTMnqTxIwHwYD
VR0jBBgwFoAUNmHhAHyIBQlRi0RsR/8aTMnqTxIwDwYDVR0TAQH/BAUwAwEB/zAO
BgNVHQ8BAf8EBAMCAYYwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cHM6Ly9hbmRyb2lk
Lmdvb2dsZWFwaXMuY29tL2F0dGVzdGF0aW9uL2NybC8wDQYJKoZIhvcNAQELBQAD
ggIBACDIw41L3KlXG0aMiS//cqrG+EShHUGo8HNsw30W1kJtjn6UBwRM6jnmiwfB
Pb8VA91chb2vssAtX2zbTvqBJ9+LBPGCdw/E53Rbf86qhxKaiAHOjpvAy5Y3m00m
qC0w/Zwvju1twb4vhLaJ5NkUJYsUS7rmJKHHBnETLi8GFqiEsqTWpG/6ibYCv7rY
DBJDcR9W62BW9jfIoBQcxUCUJouMPH25lLNcDc1ssqvC2v7iUgI9LeoM1sNovqPm
QUiG9rHli1vXxzCyaMTjwftkJLkf6724DFhuKug2jITV0QkXvaJWF4nUaHOTNA4u
JU9WDvZLI1j83A+/xnAJUucIv/zGJ1AMH2boHqF8CY16LpsYgBt6tKxxWH00XcyD
CdW2KlBCeqbQPcsFmWyWugxdcekhYsAWyoSf818NUsZdBWBaR/OukXrNLfkQ79Iy
ZohZbvabO/X+MVT3rriAoKc8oE2Uws6DF+60PV7/WIPjNvXySdqspImSN78mflxD
qwLqRBYkA3I75qppLGG9rp7UCdRjxMl8ZDBld+7yvHVgt1cVzJx9xnyGCC23Uaic
MDSXYrB4I4WHXPGjxhZuCuPBLTdOLU8YRvMYdEvYebWHMpvwGCF6bAx3JBpIeOQ1
wDB5y0USicV3YgYGmi+NZfhA4URSh77Yd6uuJOJENRaNVTzk
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 15352756130135856819 (0xd50ff25ba3f2d6b3)
Signature Algorithm: sha256WithRSAEncryption
Issuer:
serialNumber = f92009e853b6b045
Validity
Not Before: Nov 22 20:37:58 2019 GMT
Not After : Nov 18 20:37:58 2034 GMT
Subject:
serialNumber = f92009e853b6b045
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
36:61:E1:00:7C:88:05:09:51:8B:44:6C:47:FF:1A:4C:C9:EA:4F:12
X509v3 Authority Key Identifier:
keyid:36:61:E1:00:7C:88:05:09:51:8B:44:6C:47:FF:1A:4C:C9:EA:4F:12
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign
Signature Algorithm: sha256WithRSAEncryption
-----BEGIN CERTIFICATE-----
MIIFHDCCAwSgAwIBAgIJANUP8luj8tazMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV
BAUTEGY5MjAwOWU4NTNiNmIwNDUwHhcNMTkxMTIyMjAzNzU4WhcNMzQxMTE4MjAz
NzU4WjAbMRkwFwYDVQQFExBmOTIwMDllODUzYjZiMDQ1MIICIjANBgkqhkiG9w0B
AQEFAAOCAg8AMIICCgKCAgEAr7bHgiuxpwHsK7Qui8xUFmOr75gvMsd/dTEDDJdS
Sxtf6An7xyqpRR90PL2abxM1dEqlXnf2tqw1Ne4Xwl5jlRfdnJLmN0pTy/4lj4/7
tv0Sk3iiKkypnEUtR6WfMgH0QZfKHM1+di+y9TFRtv6y//0rb+T+W8a9nsNL/ggj
nar86461qO0rOs2cXjp3kOG1FEJ5MVmFmBGtnrKpa73XpXyTqRxB/M0n1n/W9nGq
C4FSYa04T6N5RIZGBN2z2MT5IKGbFlbC8UrW0DxW7AYImQQcHtGl/m00QLVWutHQ
oVJYnFPlXTcHYvASLu+RhhsbDmxMgJJ0mcDpvsC4PjvB+TxywElgS70vE0XmLD+O
JtvsBslHZvPBKCOdT0MS+tgSOIfga+z1Z1g7+DVagf7quvmag8jfPioyKvxnK/Eg
sTUVi2ghzq8wm27ud/mIM7AY2qEORR8Go3TVB4HzWQgpZrt3i5MIlCaY504LzSRi
igHCzAPlHws+W0rB5N+er5/2pJKnfBSDiCiFAVtCLOZ7gLiMm0jhO2B6tUXHI/+M
RPjy02i59lINMRRev56GKtcd9qO/0kUJWdZTdA2XoS82ixPvZtXQpUpuL12ab+9E
aDK8Z4RHJYYfCT3Q5vNAXaiWQ+8PTWm2QgBR/bkwSWc+NpUFgNPN9PvQi8WEg5Um
AGMCAwEAAaNjMGEwHQYDVR0OBBYEFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMB8GA1Ud
IwQYMBaAFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMA8GA1UdEwEB/wQFMAMBAf8wDgYD
VR0PAQH/BAQDAgIEMA0GCSqGSIb3DQEBCwUAA4ICAQBOMaBc8oumXb2voc7XCWnu
XKhBBK3e2KMGz39t7lA3XXRe2ZLLAkLM5y3J7tURkf5a1SutfdOyXAmeE6SRo83U
h6WszodmMkxK5GM4JGrnt4pBisu5igXEydaW7qq2CdC6DOGjG+mEkN8/TA6p3cno
L/sPyz6evdjLlSeJ8rFBH6xWyIZCbrcpYEJzXaUOEaxxXxgYz5/cTiVKN2M1G2ok
QBUIYSY6bjEL4aUN5cfo7ogP3UvliEo3Eo0YgwuzR2v0KR6C1cZqZJSTnghIC/vA
D32KdNQ+c3N+vl2OTsUVMC1GiWkngNx1OO1+kXW+YTnnTUOtOIswUP/Vqd5SYgAI
mMAfY8U9/iIgkQj6T2W6FsScy94IN9fFhE1UtzmLoBIuUFsVXJMTz+Jucth+IqoW
Fua9v1R93/k98p41pjtFX+H8DslVgfP097vju4KDlqN64xV1grw3ZLl4CiOe/A91
oeLm2UHOq6wn3esB4r2EIQKb6jTVGu5sYCcdWpXr0AUVqcABPdgL+H7qJguBw09o
jm6xNIrw2OocrDKsudk/okr/AwqEyPKw9WnMlQgLIKw1rODG2NvU9oR3GVGdMkUB
ZutL8VuFkERQGt6vQ2OCw0sV47VMkuYbacK/xyZFiRcrPJPb41zgbQj9XAEyLKCH
ex0SdDrx+tWUDqG8At2JHA==
-----END CERTIFICATE-----
@@ -0,0 +1,56 @@
HyperFIDO U2F Security Key Attestation CA
https://hypersecu.com/support/downloads/attestation
Last Update: 2017-01-01
HyperFIDO U2F Security Key devices which contain attestation certificates signed by a set of CAs.
This file contains the CA certificates that Relying Parties (RP) need to configure their software
with to be able to verify U2F device certificates.
The file will be updated as needed when we publish more CA certificates.
Issuer: CN=FT FIDO 0100
-----BEGIN CERTIFICATE-----
MIIBjTCCATOgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDEwxGVCBGSURP
IDAxMDAwHhcNMTQwNzAxMTUzNjI2WhcNNDQwNzAzMTUzNjI2WjAXMRUwEwYDVQQD
EwxGVCBGSURPIDAxMDAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASxdLxJx8ol
S3DS5cIHzunPF0gg69d+o8ZVCMJtpRtlfBzGuVL4YhaXk2SC2gptPTgmpZCV2vbN
fAPi5gOF0vbZo3AwbjAdBgNVHQ4EFgQUXt4jWlYDgwhaPU+EqLmeM9LoPRMwPwYD
VR0jBDgwNoAUXt4jWlYDgwhaPU+EqLmeM9LoPROhG6QZMBcxFTATBgNVBAMTDEZU
IEZJRE8gMDEwMIIBATAMBgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0gAMEUCIQC2
D9o9cconKTo8+4GZPyZBJ3amc8F0/kzyidX9dhrAIAIgM9ocs5BW/JfmshVP9Mb+
Joa/kgX4dWbZxrk0ioTfJZg=
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4107 (0x100b)
Signature Algorithm: ecdsa-with-SHA256
Issuer:
commonName = HYPERFIDO 0200
organizationName = HYPERSECU
countryName = CA
Validity
Not Before: Jan 1 00:00:00 2018 GMT
Not After : Dec 31 23:59:59 2047 GMT
Subject:
commonName = HYPERFIDO 0200
organizationName = HYPERSECU
countryName = CA
-----BEGIN CERTIFICATE-----
MIIBxzCCAWygAwIBAgICEAswCgYIKoZIzj0EAwIwOjELMAkGA1UEBhMCQ0ExEjAQ
BgNVBAoMCUhZUEVSU0VDVTEXMBUGA1UEAwwOSFlQRVJGSURPIDAyMDAwIBcNMTgw
MTAxMDAwMDAwWhgPMjA0NzEyMzEyMzU5NTlaMDoxCzAJBgNVBAYTAkNBMRIwEAYD
VQQKDAlIWVBFUlNFQ1UxFzAVBgNVBAMMDkhZUEVSRklETyAwMjAwMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAErKUI1G0S7a6IOLlmHipLlBuxTYjsEESQvzQh3dB7
dvxxWWm7kWL91rq6S7ayZG0gZPR+zYqdFzwAYDcG4+aX66NgMF4wHQYDVR0OBBYE
FLZYcfMMwkQAGbt3ryzZFPFypmsIMB8GA1UdIwQYMBaAFLZYcfMMwkQAGbt3ryzZ
FPFypmsIMAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMC
A0kAMEYCIQCG2/ppMGt7pkcRie5YIohS3uDPIrmiRcTjqDclKVWg0gIhANcPNDZH
E2/zZ+uB5ThG9OZus+xSb4knkrbAyXKX2zm/
-----END CERTIFICATE-----
@@ -0,0 +1 @@
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,41 @@
Solokeys FIDO2/U2F Device Attestation CA
========================================
Data:
Version: 1 (0x0)
Serial Number: 14143382635911888524 (0xc44763928ff4be8c)
Signature Algorithm: ecdsa-with-SHA256
Issuer:
emailAddress = hello@solokeys.com
commonName = solokeys.com
organizationalUnitName = Root CA
organizationName = Solo Keys
stateOrProvinceName = Maryland
countryName = US
Validity
Not Before: Nov 11 12:51:42 2018 GMT
Not After : Oct 29 12:51:42 2068 GMT
Subject:
emailAddress = hello@solokeys.com
commonName = solokeys.com
organizationalUnitName = Root CA
organizationName = Solo Keys
stateOrProvinceName = Maryland
countryName = US
-----BEGIN CERTIFICATE-----
MIIB9DCCAZoCCQDER2OSj/S+jDAKBggqhkjOPQQDAjCBgDELMAkGA1UEBhMCVVMx
ETAPBgNVBAgMCE1hcnlsYW5kMRIwEAYDVQQKDAlTb2xvIEtleXMxEDAOBgNVBAsM
B1Jvb3QgQ0ExFTATBgNVBAMMDHNvbG9rZXlzLmNvbTEhMB8GCSqGSIb3DQEJARYS
aGVsbG9Ac29sb2tleXMuY29tMCAXDTE4MTExMTEyNTE0MloYDzIwNjgxMDI5MTI1
MTQyWjCBgDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE1hcnlsYW5kMRIwEAYDVQQK
DAlTb2xvIEtleXMxEDAOBgNVBAsMB1Jvb3QgQ0ExFTATBgNVBAMMDHNvbG9rZXlz
LmNvbTEhMB8GCSqGSIb3DQEJARYSaGVsbG9Ac29sb2tleXMuY29tMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEWHAN0CCJVZdMs0oktZ5m93uxmB1iyq8ELRLtqVFL
SOiHQEab56qRTB/QzrpGAY++Y2mw+vRuQMNhBiU0KzwjBjAKBggqhkjOPQQDAgNI
ADBFAiEAz9SlrAXIlEu87vra54rICPs+4b0qhp3PdzcTg7rvnP0CIGjxzlteQQx+
jQGd7rwSZuE5RWUPVygYhUstQO9zNUOs
-----END CERTIFICATE-----
@@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIID6TCCAdGgAwIBAgIUUAjLh3ownidqbj5fboDmufVXiecwDQYJKoZIhvcNAQEL
BQAwMjERMA8GA1UECgwIU29sb0tleXMxCzAJBgNVBAYTAkNIMRAwDgYDVQQDDAdS
b290IFIxMCAXDTIxMDUyODA4MjQxMloYDzIwNzEwNTE2MDgyNDEyWjAtMREwDwYD
VQQKDAhTb2xvS2V5czELMAkGA1UEBhMCQ0gxCzAJBgNVBAMMAkYxMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEPCcSladE9kbZ0XI7jmtceNSHVrC1Rx0d3U8aMvKS
CJimYSe7c0Jy7CZpw7TU6N6chNx6Q1jaZ/B3ZjPLGZBOMqOBxDCBwTAdBgNVHQ4E
FgQUQWu2S++iGQ3kYl/9KQSWuYIptPgwHwYDVR0jBBgwFoAUVOPVaecSkRBulbOE
QMfZOr8x1dcwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwMgYI
KwYBBQUHAQEEJjAkMCIGCCsGAQUFBzAChhZodHRwOi8vaS5zMnBraS5uZXQvcjEv
MCcGA1UdHwQgMB4wHKAaoBiGFmh0dHA6Ly9jLnMycGtpLm5ldC9yMS8wDQYJKoZI
hvcNAQELBQADggIBACVIymBmQwWwIUKnffptCJPeAn4m+Vy7ntr6KeS6aM7NI3cb
xzRq5tHOugtjFJsBSGynbF0/Kc+VnGR2lCFuVKeuusFsAhk4F13jaOTPSTWTXK6k
2TdoqZ6wIqmQ7bAZVYqcE21ZkM/Bo5Ej+PZacGjlGaEHwjL5CU2scnZeqS8d1ago
MCIfvRlYd2vkbPjqQx0t5jzEKZ7hF4y77kh0JArYpgpp0Sq4P96pPDwIZCvVGmGi
jhNOie0UnF6trfTD1AAXtlPqYPK9gNpXlN2IhsIpNMf7YA9R1zjVvnfYnFS6Tr73
0UzBct6jC9JompqvAo9NIe6cu/Qkc/KUL4JDt9iJWB8RN2aAnVCYQ+xT4evVFQCV
F/1pbeSvFfPqCfazkSPIiff7n9Tmk1Wwe3VmkuU7HUmAkYaLazs7DLY/Cp0/1V1K
pURMyawlUtv2J4PQqvOnMGUYupxp2l3DjdzHMx8RE+caCM2PxzPsUucLVHdOkBW2
h6U5PIWJuZtbiabwFmQXahqSNkRO6kXRvedowqaHNZiIFi4VKqPHrJrEhNhncfJ/
jwAAThoo5yyEgh3a+THoZKOFfZhzFJA9MVMwqQB00iSsF5HKC+MFUkHpKaV2DVjS
mPXOYy4biL8XkOqQeJUuB5sQ/2LYxaaXj1dBrnR3cklHp2KKacWYdnLdEe8I
-----END CERTIFICATE-----
@@ -0,0 +1,31 @@
-----BEGIN CERTIFICATE-----
MIIFVzCCAz+gAwIBAgIUR9xt5vBCCwFTaFGS3VFH0v49lmUwDQYJKoZIhvcNAQEL
BQAwMjERMA8GA1UECgwIU29sb0tleXMxCzAJBgNVBAYTAkNIMRAwDgYDVQQDDAdS
b290IFIxMCAXDTIxMDUyMTIyMTA1M1oYDzIwNzEwNTA5MjIxMDUzWjAyMREwDwYD
VQQKDAhTb2xvS2V5czELMAkGA1UEBhMCQ0gxEDAOBgNVBAMMB1Jvb3QgUjEwggIi
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCBybLOEMbhPyBEaHeqXJQUfRgd
xZHFtum2oXknCineXh8NXBL8PJLJEYi4Clv/QQGj+VPGPOcF1nwMX5BsmTYsLPMo
Rt7npI/xaPYdW/ByIvQQNqH3NTQjt8j4Wz0XWHL/VuqNFGZAdI4GN00NifKH1FCy
wOgwyKHl74XmMJLzzigFoo8m5ZPD+uw7ZRt1Q28jFTJiB2qyMX1rn2wHZLnHHhgs
wp0uApnQw5CGmhK3pkW8U9Gr3JH6K0q6NwZ4Pp1DPJFbl4J9cPFP2o25sOsf+jjX
4Ko2J97qndoRxHFWjh6HLvbq6/RyySbVGBsBeep92QXidf/3Vgc+6xkgTmlWL+5W
6mj7F8zhPAz8l8m3HEv/pVdsJikwrR2FAllw4T2nBYXhdJ4lPdH9HYZrbmyGVOcD
1M/hQ2d/7X0H1K40KV1li1nYJHxkfcDKHeI5RcAaLE+n6ctLS5KqyJ0MXmmga6I7
rd5cTfQqjYQm/YbfShK6ZsmsGC/KJGmFbx9kqsMbcg7a2qF1RT0WPFJd2F1glaon
tsqPwFDi5mR7M46tjLAWJx2Wu5mbACedRoxKPMe8l+b1CQ7k+temvxNK0IvM38St
z9UiVpl0VwACNpJ2MobM+XJNQNCbMbBt0n6wPmftqI5taoFxPTNM6t1F2utsjbdn
M1/WUKOh5lhheBMDWQIDAQABo2MwYTAdBgNVHQ4EFgQUVOPVaecSkRBulbOEQMfZ
Or8x1dcwHwYDVR0jBBgwFoAUVOPVaecSkRBulbOEQMfZOr8x1dcwDwYDVR0TAQH/
BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAEh5VMjC
YnWzJK8Rolmsbmpa7LQiS+WKk2ihYZRLUYlzET5+MDmue+n4sBuuuXPLaQsdnTSO
xqmVts8bneacEckr0y8j5/2o5/5UPjAchXXK6PwHqnajk2kzCIH2tWTyhpKcxF1i
fQo9RGA6igOjes8vMmKCFQg3A88wiAtrafgf/I3fVSHJOSeU29nqmVNHGU4tQFu0
Frx/d3y5elo5rZpld71DwRA83qLUgJ3liancoSb/icR8igGyLxCcxmKU5fFItiG9
4x+egnblyYfuhLbXU0k8LXJVMdDImZHEyI80EHOSpV3wZR5LyfiXu3fygxtOm6tL
fi1khkJIfIPMyV1Y4B7y6zOlHbneF1F8P4pTjHTYFHKhNm1wWffrqgLDYdtLAXSV
tyDM0zjtoRSHRYWsuwbeWdwoWHQeLkPzMtmFkHrPi0i3iv4GaianTnE1k1lX8Xf4
HbWBHXoVJCoAwycJJqX2SPZwFlWGp8IMGLUNzjFtLP+D7pdUSBgkDqz6FumZQGx/
KLHugnolEb8ZiOZKbaPOjc9EmXFjA42y4vXAip6ZZ2FfuWDqkPaU1WfM95cE0hf5
BSbfxSSQ2V3z4sywzkfQxr7q2mYzJ9C2NhLYXMrc98L9uEd0O7dO0eEF+44gc5O7
Bc7NuTA9//IG8nJb0MvD76TxHPlZuVnMdMb6
-----END CERTIFICATE-----
@@ -0,0 +1,42 @@
Yubico U2F Device Attestation CA
================================
Last Update: 2014-09-01
Yubico manufacturer U2F devices that contains device attestation
certificates signed by a set of Yubico CAs. This file contains the CA
certificates that Relying Parties (RP) need to configure their
software with to be able to verify U2F device certificates.
This file has been signed with OpenPGP and you should verify the
signature and the authenticity of the public key before trusting the
content. The signature is located next to the file:
https://developers.yubico.com/u2f/yubico-u2f-ca-certs.txt
https://developers.yubico.com/u2f/yubico-u2f-ca-certs.txt.sig
We will update this file from time to time when we publish more CA
certificates.
Name: Yubico U2F Root CA Serial 457200631
Issued: 2014-08-01
-----BEGIN CERTIFICATE-----
MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZ
dWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAw
MDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290
IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk
5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep
8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbw
nebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT
9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXw
LvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJ
hjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAN
BgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4
MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kt
hX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2k
LVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1U
sG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqc
U9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw==
-----END CERTIFICATE-----
+370
View File
@@ -0,0 +1,370 @@
<?php
/*
* Copyright (C) 2022 Lukas Buchs
* license https://github.com/lbuchs/WebAuthn/blob/master/LICENSE MIT
*
* Server test script for WebAuthn library. Saves new registrations in session.
*
* JAVASCRIPT | SERVER
* ------------------------------------------------------------
*
* REGISTRATION
*
* window.fetch -----------------> getCreateArgs
* |
* navigator.credentials.create <-------------'
* |
* '-------------------------> processCreate
* |
* alert ok or fail <----------------'
*
* ------------------------------------------------------------
*
* VALIDATION
*
* window.fetch ------------------> getGetArgs
* |
* navigator.credentials.get <----------------'
* |
* '-------------------------> processGet
* |
* alert ok or fail <----------------'
*
* ------------------------------------------------------------
*/
require_once '../src/WebAuthn.php';
try {
session_start();
// read get argument and post body
$fn = filter_input(INPUT_GET, 'fn');
$requireResidentKey = !!filter_input(INPUT_GET, 'requireResidentKey');
$userVerification = filter_input(INPUT_GET, 'userVerification', FILTER_SANITIZE_SPECIAL_CHARS);
$userId = filter_input(INPUT_GET, 'userId', FILTER_SANITIZE_SPECIAL_CHARS);
$userName = filter_input(INPUT_GET, 'userName', FILTER_SANITIZE_SPECIAL_CHARS);
$userDisplayName = filter_input(INPUT_GET, 'userDisplayName', FILTER_SANITIZE_SPECIAL_CHARS);
$userId = $userId ? preg_replace('/[^0-9a-f]/i', '', $userId): "";
$userName = $userName ? preg_replace('/[^0-9a-z]/i', '', $userName): "";
$userDisplayName = $userDisplayName ? preg_replace('/[^0-9a-z öüäéèàÖÜÄÉÈÀÂÊÎÔÛâêîôû]/i', '', $userDisplayName): "";
$post = trim(file_get_contents('php://input'));
if ($post) {
$post = json_decode($post, null, 512, JSON_THROW_ON_ERROR);
}
if ($fn !== 'getStoredDataHtml') {
// Formats
$formats = [];
if (filter_input(INPUT_GET, 'fmt_android-key')) {
$formats[] = 'android-key';
}
if (filter_input(INPUT_GET, 'fmt_android-safetynet')) {
$formats[] = 'android-safetynet';
}
if (filter_input(INPUT_GET, 'fmt_apple')) {
$formats[] = 'apple';
}
if (filter_input(INPUT_GET, 'fmt_fido-u2f')) {
$formats[] = 'fido-u2f';
}
if (filter_input(INPUT_GET, 'fmt_none')) {
$formats[] = 'none';
}
if (filter_input(INPUT_GET, 'fmt_packed')) {
$formats[] = 'packed';
}
if (filter_input(INPUT_GET, 'fmt_tpm')) {
$formats[] = 'tpm';
}
$rpId = 'localhost';
if (filter_input(INPUT_GET, 'rpId')) {
$rpId = filter_input(INPUT_GET, 'rpId', FILTER_VALIDATE_DOMAIN);
if ($rpId === false) {
throw new Exception('invalid relying party ID');
}
}
// types selected on front end
$typeUsb = !!filter_input(INPUT_GET, 'type_usb');
$typeNfc = !!filter_input(INPUT_GET, 'type_nfc');
$typeBle = !!filter_input(INPUT_GET, 'type_ble');
$typeInt = !!filter_input(INPUT_GET, 'type_int');
$typeHyb = !!filter_input(INPUT_GET, 'type_hybrid');
// cross-platform: true, if type internal is not allowed
// false, if only internal is allowed
// null, if internal and cross-platform is allowed
$crossPlatformAttachment = null;
if (($typeUsb || $typeNfc || $typeBle || $typeHyb) && !$typeInt) {
$crossPlatformAttachment = true;
} else if (!$typeUsb && !$typeNfc && !$typeBle && !$typeHyb && $typeInt) {
$crossPlatformAttachment = false;
}
// new Instance of the server library.
// make sure that $rpId is the domain name.
$WebAuthn = new lbuchs\WebAuthn\WebAuthn('WebAuthn Library', $rpId, $formats);
// add root certificates to validate new registrations
if (filter_input(INPUT_GET, 'solo')) {
$WebAuthn->addRootCertificates('rootCertificates/solo.pem');
$WebAuthn->addRootCertificates('rootCertificates/solokey_f1.pem');
$WebAuthn->addRootCertificates('rootCertificates/solokey_r1.pem');
}
if (filter_input(INPUT_GET, 'apple')) {
$WebAuthn->addRootCertificates('rootCertificates/apple.pem');
}
if (filter_input(INPUT_GET, 'yubico')) {
$WebAuthn->addRootCertificates('rootCertificates/yubico.pem');
}
if (filter_input(INPUT_GET, 'hypersecu')) {
$WebAuthn->addRootCertificates('rootCertificates/hypersecu.pem');
}
if (filter_input(INPUT_GET, 'google')) {
$WebAuthn->addRootCertificates('rootCertificates/globalSign.pem');
$WebAuthn->addRootCertificates('rootCertificates/googleHardware.pem');
}
if (filter_input(INPUT_GET, 'microsoft')) {
$WebAuthn->addRootCertificates('rootCertificates/microsoftTpmCollection.pem');
}
if (filter_input(INPUT_GET, 'mds')) {
$WebAuthn->addRootCertificates('rootCertificates/mds');
}
}
// ------------------------------------
// request for create arguments
// ------------------------------------
if ($fn === 'getCreateArgs') {
$createArgs = $WebAuthn->getCreateArgs(\hex2bin($userId), $userName, $userDisplayName, 60*4, $requireResidentKey, $userVerification, $crossPlatformAttachment);
header('Content-Type: application/json');
print(json_encode($createArgs));
// save challange to session. you have to deliver it to processGet later.
$_SESSION['challenge'] = $WebAuthn->getChallenge();
// ------------------------------------
// request for get arguments
// ------------------------------------
} else if ($fn === 'getGetArgs') {
$ids = [];
if ($requireResidentKey) {
if (!isset($_SESSION['registrations']) || !is_array($_SESSION['registrations']) || count($_SESSION['registrations']) === 0) {
throw new Exception('we do not have any registrations in session to check the registration');
}
} else {
// load registrations from session stored there by processCreate.
// normaly you have to load the credential Id's for a username
// from the database.
if (isset($_SESSION['registrations']) && is_array($_SESSION['registrations'])) {
foreach ($_SESSION['registrations'] as $reg) {
if ($reg->userId === $userId) {
$ids[] = $reg->credentialId;
}
}
}
if (count($ids) === 0) {
throw new Exception('no registrations in session for userId ' . $userId);
}
}
$getArgs = $WebAuthn->getGetArgs($ids, 60*4, $typeUsb, $typeNfc, $typeBle, $typeHyb, $typeInt, $userVerification);
header('Content-Type: application/json');
print(json_encode($getArgs));
// save challange to session. you have to deliver it to processGet later.
$_SESSION['challenge'] = $WebAuthn->getChallenge();
// ------------------------------------
// process create
// ------------------------------------
} else if ($fn === 'processCreate') {
$clientDataJSON = base64_decode($post->clientDataJSON);
$attestationObject = base64_decode($post->attestationObject);
$challenge = $_SESSION['challenge'];
// processCreate returns data to be stored for future logins.
// in this example we store it in the php session.
// Normaly you have to store the data in a database connected
// with the user name.
$data = $WebAuthn->processCreate($clientDataJSON, $attestationObject, $challenge, $userVerification === 'required', true, false);
// add user infos
$data->userId = $userId;
$data->userName = $userName;
$data->userDisplayName = $userDisplayName;
if (!isset($_SESSION['registrations']) || !array_key_exists('registrations', $_SESSION) || !is_array($_SESSION['registrations'])) {
$_SESSION['registrations'] = [];
}
$_SESSION['registrations'][] = $data;
$msg = 'registration success.';
if ($data->rootValid === false) {
$msg = 'registration ok, but certificate does not match any of the selected root ca.';
}
$return = new stdClass();
$return->success = true;
$return->msg = $msg;
header('Content-Type: application/json');
print(json_encode($return));
// ------------------------------------
// proccess get
// ------------------------------------
} else if ($fn === 'processGet') {
$clientDataJSON = base64_decode($post->clientDataJSON);
$authenticatorData = base64_decode($post->authenticatorData);
$signature = base64_decode($post->signature);
$userHandle = base64_decode($post->userHandle);
$id = base64_decode($post->id);
$challenge = $_SESSION['challenge'] ?? '';
$credentialPublicKey = null;
// looking up correspondending public key of the credential id
// you should also validate that only ids of the given user name
// are taken for the login.
if (isset($_SESSION['registrations']) && is_array($_SESSION['registrations'])) {
foreach ($_SESSION['registrations'] as $reg) {
if ($reg->credentialId === $id) {
$credentialPublicKey = $reg->credentialPublicKey;
break;
}
}
}
if ($credentialPublicKey === null) {
throw new Exception('Public Key for credential ID not found!');
}
// if we have resident key, we have to verify that the userHandle is the provided userId at registration
if ($requireResidentKey && $userHandle !== hex2bin($reg->userId)) {
throw new \Exception('userId doesnt match (is ' . bin2hex($userHandle) . ' but expect ' . $reg->userId . ')');
}
// process the get request. throws WebAuthnException if it fails
$WebAuthn->processGet($clientDataJSON, $authenticatorData, $signature, $credentialPublicKey, $challenge, null, $userVerification === 'required');
$return = new stdClass();
$return->success = true;
header('Content-Type: application/json');
print(json_encode($return));
// ------------------------------------
// proccess clear registrations
// ------------------------------------
} else if ($fn === 'clearRegistrations') {
$_SESSION['registrations'] = null;
$_SESSION['challenge'] = null;
$return = new stdClass();
$return->success = true;
$return->msg = 'all registrations deleted';
header('Content-Type: application/json');
print(json_encode($return));
// ------------------------------------
// display stored data as HTML
// ------------------------------------
} else if ($fn === 'getStoredDataHtml') {
$html = '<!DOCTYPE html>' . "\n";
$html .= '<html><head><style>tr:nth-child(even){background-color: #f2f2f2;}</style></head>';
$html .= '<body style="font-family:sans-serif">';
if (isset($_SESSION['registrations']) && is_array($_SESSION['registrations'])) {
$html .= '<p>There are ' . count($_SESSION['registrations']) . ' registrations in this session:</p>';
foreach ($_SESSION['registrations'] as $reg) {
$html .= '<table style="border:1px solid black;margin:10px 0;">';
foreach ($reg as $key => $value) {
if (is_bool($value)) {
$value = $value ? 'yes' : 'no';
} else if (is_null($value)) {
$value = 'null';
} else if (is_object($value)) {
$value = chunk_split(strval($value), 64);
} else if (is_string($value) && strlen($value) > 0 && htmlspecialchars($value, ENT_QUOTES) === '') {
$value = chunk_split(bin2hex($value), 64);
}
$html .= '<tr><td>' . htmlspecialchars($key) . '</td><td style="font-family:monospace;">' . nl2br(htmlspecialchars($value)) . '</td>';
}
$html .= '</table>';
}
} else {
$html .= '<p>There are no registrations in this session.</p>';
}
$html .= '</body></html>';
header('Content-Type: text/html');
print $html;
// ------------------------------------
// get root certs from FIDO Alliance Metadata Service
// ------------------------------------
} else if ($fn === 'queryFidoMetaDataService') {
$mdsFolder = 'rootCertificates/mds';
$success = false;
$msg = null;
// fetch only 1x / 24h
$lastFetch = \is_file($mdsFolder . '/lastMdsFetch.txt') ? \strtotime(\file_get_contents($mdsFolder . '/lastMdsFetch.txt')) : 0;
if ($lastFetch + (3600*48) < \time()) {
$cnt = $WebAuthn->queryFidoMetaDataService($mdsFolder);
$success = true;
\file_put_contents($mdsFolder . '/lastMdsFetch.txt', date('r'));
$msg = 'successfully queried FIDO Alliance Metadata Service - ' . $cnt . ' certificates downloaded.';
} else {
$msg = 'Fail: last fetch was at ' . date('r', $lastFetch) . ' - fetch only 1x every 48h';
}
$return = new stdClass();
$return->success = $success;
$return->msg = $msg;
header('Content-Type: application/json');
print(json_encode($return));
}
} catch (Throwable $ex) {
$return = new stdClass();
$return->success = false;
$return->msg = $ex->getMessage();
header('Content-Type: application/json');
print(json_encode($return));
}
+23
View File
@@ -0,0 +1,23 @@
{
"name": "lbuchs/webauthn",
"description": "A simple PHP WebAuthn (FIDO2) server library",
"keywords": [
"webauthn", "authentication"
],
"homepage": "https://github.com/lbuchs/webauthn",
"license": "MIT",
"authors": [
{
"name": "Lukas Buchs",
"role": "Developer"
}
],
"require": {
"php" : ">=8.0.0"
},
"autoload": {
"psr-4": {
"lbuchs\\WebAuthn\\": "src"
}
}
}
@@ -0,0 +1,18 @@
ACS FIDO Authenticator
----------------------
-----BEGIN CERTIFICATE-----
MIICQTCCAeegAwIBAgIUF/0wTPP6FEqxpsibJiLFtDj4qhwwCgYIKoZIzj0EAwIw
dTELMAkGA1UEBhMCSEsxEjAQBgNVBAgMCUhvbmcgS29uZzESMBAGA1UEBwwJSG9u
ZyBLb25nMSMwIQYDVQQKDBpBZHZhbmNlZCBDYXJkIFN5c3RlbXMgTHRkLjEZMBcG
A1UEAwwQQUNTIEZJRE8gUm9vdCBDQTAgFw0yMjA1MzAwOTIzMzVaGA8yMDUyMDUy
MjA5MjMzNVowdTELMAkGA1UEBhMCSEsxEjAQBgNVBAgMCUhvbmcgS29uZzESMBAG
A1UEBwwJSG9uZyBLb25nMSMwIQYDVQQKDBpBZHZhbmNlZCBDYXJkIFN5c3RlbXMg
THRkLjEZMBcGA1UEAwwQQUNTIEZJRE8gUm9vdCBDQTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABBwYgKVwjCV6+lv7gnpFERzU2uND8gdEkPCNcs/vFDs2sK42Juxn
hFnIgMB2DyU0IrXILjf/2XT0YSTd1sPiTSajUzBRMB0GA1UdDgQWBBTnQarpdSt4
sid7VjfNILIHrb2PoDAfBgNVHSMEGDAWgBTnQarpdSt4sid7VjfNILIHrb2PoDAP
BgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0gAMEUCIQDcoXJ3rzNMA/fZkh08
PoFrMx43GYMhZMfLPw/3MfJpGAIgectKwmJYM9J8SX8x/aQV4iGvKWoBfr1XPTAM
XOhVEYE=
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
ACS FIDO Authenticator Card
---------------------------
-----BEGIN CERTIFICATE-----
MIICQTCCAeegAwIBAgIUF/0wTPP6FEqxpsibJiLFtDj4qhwwCgYIKoZIzj0EAwIw
dTELMAkGA1UEBhMCSEsxEjAQBgNVBAgMCUhvbmcgS29uZzESMBAGA1UEBwwJSG9u
ZyBLb25nMSMwIQYDVQQKDBpBZHZhbmNlZCBDYXJkIFN5c3RlbXMgTHRkLjEZMBcG
A1UEAwwQQUNTIEZJRE8gUm9vdCBDQTAgFw0yMjA1MzAwOTIzMzVaGA8yMDUyMDUy
MjA5MjMzNVowdTELMAkGA1UEBhMCSEsxEjAQBgNVBAgMCUhvbmcgS29uZzESMBAG
A1UEBwwJSG9uZyBLb25nMSMwIQYDVQQKDBpBZHZhbmNlZCBDYXJkIFN5c3RlbXMg
THRkLjEZMBcGA1UEAwwQQUNTIEZJRE8gUm9vdCBDQTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABBwYgKVwjCV6+lv7gnpFERzU2uND8gdEkPCNcs/vFDs2sK42Juxn
hFnIgMB2DyU0IrXILjf/2XT0YSTd1sPiTSajUzBRMB0GA1UdDgQWBBTnQarpdSt4
sid7VjfNILIHrb2PoDAfBgNVHSMEGDAWgBTnQarpdSt4sid7VjfNILIHrb2PoDAP
BgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0gAMEUCIQDcoXJ3rzNMA/fZkh08
PoFrMx43GYMhZMfLPw/3MfJpGAIgectKwmJYM9J8SX8x/aQV4iGvKWoBfr1XPTAM
XOhVEYE=
-----END CERTIFICATE-----
@@ -0,0 +1,19 @@
ACS FIDO Authenticator NFC
--------------------------
-----BEGIN CERTIFICATE-----
MIICfzCCAiWgAwIBAgIFEIZAB3MwCgYIKoZIzj0EAwIwdTELMAkGA1UEBhMCSEsx
EjAQBgNVBAgMCUhvbmcgS29uZzESMBAGA1UEBwwJSG9uZyBLb25nMSMwIQYDVQQK
DBpBZHZhbmNlZCBDYXJkIFN5c3RlbXMgTHRkLjEZMBcGA1UEAwwQQUNTIEZJRE8g
Um9vdCBDQTAeFw0yNDEwMDMwNjQ2MzZaFw0zNDEwMDMwNjQ2MzZaMIGCMQswCQYD
VQQGEwJISzEjMCEGA1UECgwaQWR2YW5jZWQgQ2FyZCBTeXN0ZW1zIEx0ZC4xIjAg
BgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xKjAoBgNVBAMMIUFDUyBB
RkQwMyBBdHRlc3RhdGlvbiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABGseNayIOV4mfqT3QSoL4xWCaGLciKA0oAciih1uHjT6oWCM7x/AQcHj
bBhdGne52Jqi99Ye3aqkq+LkdvP/M/WjgZMwgZAwCQYDVR0TBAIwADALBgNVHQ8E
BAMCBsAwEwYLKwYBBAGC5RwCAQEEBAMCBDAwIQYLKwYBBAGC5RwBAQQEEgQQyJ5q
OGwAVCZapcnL9I8DgjAdBgNVHQ4EFgQUG6zB4SX9RFX0SvNyAHzTvKZhGSUwHwYD
VR0jBBgwFoAU50Gq6XUreLIne1Y3zSCyB629j6AwCgYIKoZIzj0EAwIDSAAwRQIh
AIm78GC7xl0VIvQjh7E4+AIH0Pw424oduUUgdwWonG40AiAx1X6XmXBr5b1jmpCY
cvLMfdH9ObP3EklIXU9FHgLosA==
-----END CERTIFICATE-----
@@ -0,0 +1,20 @@
Allthenticator Android App: roaming BLE FIDO2 Allthenticator for Windows, Mac, Linux, and Allthenticate door readers
--------------------------------------------------------------------------------------------------------------------
-----BEGIN CERTIFICATE-----
MIICqDCCAk6gAwIBAgIUGFCc6rhe4EiRa/OSqPNwuoR2jkQwCgYIKoZIzj0EAwIw
gaoxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3Rv
bjEWMBQGA1UECgwNQWxsdGhlbnRpY2F0ZTEiMCAGA1UECwwZQXV0aGVudGljYXRv
ciBBdHRlc3RhdGlvbjEWMBQGA1UEAwwNQWxsdGhlbnRpY2F0ZTElMCMGCSqGSIb3
DQEJARYWaGVscEBhbGx0aGVudGljYXRlLmNvbTAeFw0yNDAzMTQxNTUyNTJaFw0z
NDAzMTIxNTUyNTJaMIGqMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO
BgNVBAcMB0hvdXN0b24xFjAUBgNVBAoMDUFsbHRoZW50aWNhdGUxIjAgBgNVBAsM
GUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xFjAUBgNVBAMMDUFsbHRoZW50aWNh
dGUxJTAjBgkqhkiG9w0BCQEWFmhlbHBAYWxsdGhlbnRpY2F0ZS5jb20wWTATBgcq
hkjOPQIBBggqhkjOPQMBBwNCAAS2IAC5t3iERq5xpsEAyqPzjTb+ekx++5Z4Vu6Y
rm7SFftzc5BdUVi7qnJpZotId2GfFjad0ZjkIf8T5R5htdVLo1AwTjAdBgNVHQ4E
FgQUAy5QOmItkBx+RgFn4EflQVYfn1EwHwYDVR0jBBgwFoAUAy5QOmItkBx+RgFn
4EflQVYfn1EwDAYDVR0TAQH/BAIwADAKBggqhkjOPQQDAgNIADBFAiEAwsJai8gk
A18gw+aLmTKww0OJNydgN4ozeKe957rRm60CIEgwALnBQkr1AFITibJJ+TDPP2yL
5no6HdTEACA7mHwH
-----END CERTIFICATE-----
@@ -0,0 +1,20 @@
Allthenticator iOS App: roaming BLE FIDO2 Allthenticator for Windows, Mac, Linux, and Allthenticate door readers
----------------------------------------------------------------------------------------------------------------
-----BEGIN CERTIFICATE-----
MIICqDCCAk6gAwIBAgIUGFCc6rhe4EiRa/OSqPNwuoR2jkQwCgYIKoZIzj0EAwIw
gaoxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3Rv
bjEWMBQGA1UECgwNQWxsdGhlbnRpY2F0ZTEiMCAGA1UECwwZQXV0aGVudGljYXRv
ciBBdHRlc3RhdGlvbjEWMBQGA1UEAwwNQWxsdGhlbnRpY2F0ZTElMCMGCSqGSIb3
DQEJARYWaGVscEBhbGx0aGVudGljYXRlLmNvbTAeFw0yNDAzMTQxNTUyNTJaFw0z
NDAzMTIxNTUyNTJaMIGqMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO
BgNVBAcMB0hvdXN0b24xFjAUBgNVBAoMDUFsbHRoZW50aWNhdGUxIjAgBgNVBAsM
GUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xFjAUBgNVBAMMDUFsbHRoZW50aWNh
dGUxJTAjBgkqhkiG9w0BCQEWFmhlbHBAYWxsdGhlbnRpY2F0ZS5jb20wWTATBgcq
hkjOPQIBBggqhkjOPQMBBwNCAAS2IAC5t3iERq5xpsEAyqPzjTb+ekx++5Z4Vu6Y
rm7SFftzc5BdUVi7qnJpZotId2GfFjad0ZjkIf8T5R5htdVLo1AwTjAdBgNVHQ4E
FgQUAy5QOmItkBx+RgFn4EflQVYfn1EwHwYDVR0jBBgwFoAUAy5QOmItkBx+RgFn
4EflQVYfn1EwDAYDVR0TAQH/BAIwADAKBggqhkjOPQQDAgNIADBFAiEAwsJai8gk
A18gw+aLmTKww0OJNydgN4ozeKe957rRm60CIEgwALnBQkr1AFITibJJ+TDPP2yL
5no6HdTEACA7mHwH
-----END CERTIFICATE-----
@@ -0,0 +1,943 @@
Android Authenticator
---------------------
-----BEGIN CERTIFICATE-----
MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw
CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA
IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout
736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A
DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk
fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA
njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG
A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh
bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE
ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS
b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5
7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS
J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y
HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP
t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz
FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY
XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/
MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw
hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js
MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA
A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj
Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx
XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o
omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc
A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
WL1WMRJOEcgh4LMRkWXbtKaIOM5V
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE
BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL
MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y
YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua
kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL
QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp
6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG
yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i
QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO
tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu
QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ
Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u
olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48
x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA
n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc
biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp
EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA
bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu
YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB
AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW
BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI
QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I
0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni
lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9
B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv
ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
IhNzbM8m9Yop5w==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg
MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh
bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx
MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET
MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI
xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k
ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD
aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw
LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw
1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX
k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2
SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h
bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n
WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY
rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce
MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD
AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu
bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN
nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt
Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61
55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj
vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf
cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz
oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp
nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs
pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v
JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R
8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4
5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB
gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV
BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw
MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P
RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0
aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3
UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI
2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8
Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp
+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+
DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O
nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW
/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g
PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u
QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY
SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv
IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4
zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd
BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB
ZQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk
MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH
bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX
DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD
QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ
FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F
uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX
kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs
ewv4n4Q=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5
MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR
6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X
pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC
9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV
/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf
Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z
+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w
qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah
SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC
u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf
Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq
crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl
wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM
4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV
2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna
FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ
CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK
boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke
jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL
S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb
QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl
0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB
NVOFBkpdn627G190
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk
MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH
bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX
DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD
QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc
8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke
hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI
KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg
515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO
xwy8p2Fp8fc74SrL+SvzZpA3
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl
eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT
JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx
MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg
VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm
aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo
I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng
o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G
A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD
VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB
zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW
RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50
cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs
IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz
dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy
NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu
dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt
dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0
aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T
RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN
cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW
wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1
U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0
jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP
BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN
BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/
jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v
1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R
nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH
VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw
CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA
IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu
hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l
xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0
CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx
sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw
CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg
RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV
UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq
hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf
Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q
RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD
AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY
JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv
6pZjamVFkpUBtA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBH
MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM
QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy
MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl
cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv
CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3Kg
GjSY6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9Bu
XvAuMC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOd
re7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXu
PuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1
mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K
8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqj
x5RWIr9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsR
nTKaG73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0
kzCqgc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9Ok
twIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBALZp
8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT
vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiT
z9D2PGcDFWEJ+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiA
pJiS4wGWAqoC7o87xdFtCjMwc3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvb
pxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3DaWsYDQvTtN6LwG1BUSw7YhN4ZKJmB
R64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5rn/WkhLx3+WuXrD5R
RaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56GtmwfuNmsk
0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC
5AwiWVIQ7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiF
izoHCBy69Y9Vmhh1fuXsgWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLn
yOd/xCxgXS/Dr55FBcOEArf9LAhST4Ldo/DUhgkC
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG
A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3
d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu
dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq
RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy
MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD
VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g
Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi
A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt
ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH
Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC
R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX
hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFYDCCA0igAwIBAgIJAOj6GWMU0voYMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV
BAUTEGY5MjAwOWU4NTNiNmIwNDUwHhcNMTYwNTI2MTYyODUyWhcNMjYwNTI0MTYy
ODUyWjAbMRkwFwYDVQQFExBmOTIwMDllODUzYjZiMDQ1MIICIjANBgkqhkiG9w0B
AQEFAAOCAg8AMIICCgKCAgEAr7bHgiuxpwHsK7Qui8xUFmOr75gvMsd/dTEDDJdS
Sxtf6An7xyqpRR90PL2abxM1dEqlXnf2tqw1Ne4Xwl5jlRfdnJLmN0pTy/4lj4/7
tv0Sk3iiKkypnEUtR6WfMgH0QZfKHM1+di+y9TFRtv6y//0rb+T+W8a9nsNL/ggj
nar86461qO0rOs2cXjp3kOG1FEJ5MVmFmBGtnrKpa73XpXyTqRxB/M0n1n/W9nGq
C4FSYa04T6N5RIZGBN2z2MT5IKGbFlbC8UrW0DxW7AYImQQcHtGl/m00QLVWutHQ
oVJYnFPlXTcHYvASLu+RhhsbDmxMgJJ0mcDpvsC4PjvB+TxywElgS70vE0XmLD+O
JtvsBslHZvPBKCOdT0MS+tgSOIfga+z1Z1g7+DVagf7quvmag8jfPioyKvxnK/Eg
sTUVi2ghzq8wm27ud/mIM7AY2qEORR8Go3TVB4HzWQgpZrt3i5MIlCaY504LzSRi
igHCzAPlHws+W0rB5N+er5/2pJKnfBSDiCiFAVtCLOZ7gLiMm0jhO2B6tUXHI/+M
RPjy02i59lINMRRev56GKtcd9qO/0kUJWdZTdA2XoS82ixPvZtXQpUpuL12ab+9E
aDK8Z4RHJYYfCT3Q5vNAXaiWQ+8PTWm2QgBR/bkwSWc+NpUFgNPN9PvQi8WEg5Um
AGMCAwEAAaOBpjCBozAdBgNVHQ4EFgQUNmHhAHyIBQlRi0RsR/8aTMnqTxIwHwYD
VR0jBBgwFoAUNmHhAHyIBQlRi0RsR/8aTMnqTxIwDwYDVR0TAQH/BAUwAwEB/zAO
BgNVHQ8BAf8EBAMCAYYwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cHM6Ly9hbmRyb2lk
Lmdvb2dsZWFwaXMuY29tL2F0dGVzdGF0aW9uL2NybC8wDQYJKoZIhvcNAQELBQAD
ggIBACDIw41L3KlXG0aMiS//cqrG+EShHUGo8HNsw30W1kJtjn6UBwRM6jnmiwfB
Pb8VA91chb2vssAtX2zbTvqBJ9+LBPGCdw/E53Rbf86qhxKaiAHOjpvAy5Y3m00m
qC0w/Zwvju1twb4vhLaJ5NkUJYsUS7rmJKHHBnETLi8GFqiEsqTWpG/6ibYCv7rY
DBJDcR9W62BW9jfIoBQcxUCUJouMPH25lLNcDc1ssqvC2v7iUgI9LeoM1sNovqPm
QUiG9rHli1vXxzCyaMTjwftkJLkf6724DFhuKug2jITV0QkXvaJWF4nUaHOTNA4u
JU9WDvZLI1j83A+/xnAJUucIv/zGJ1AMH2boHqF8CY16LpsYgBt6tKxxWH00XcyD
CdW2KlBCeqbQPcsFmWyWugxdcekhYsAWyoSf818NUsZdBWBaR/OukXrNLfkQ79Iy
ZohZbvabO/X+MVT3rriAoKc8oE2Uws6DF+60PV7/WIPjNvXySdqspImSN78mflxD
qwLqRBYkA3I75qppLGG9rp7UCdRjxMl8ZDBld+7yvHVgt1cVzJx9xnyGCC23Uaic
MDSXYrB4I4WHXPGjxhZuCuPBLTdOLU8YRvMYdEvYebWHMpvwGCF6bAx3JBpIeOQ1
wDB5y0USicV3YgYGmi+NZfhA4URSh77Yd6uuJOJENRaNVTzk
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
jjxDah2nGN59PRbxYvnKkKj9
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
4uJEvlz36hz1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx
EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs
ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw
MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj
aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg
nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1
HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N
Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN
dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0
HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G
CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU
sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3
4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg
8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1
mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL
MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT
IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw
MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy
ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N
T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR
FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J
cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW
BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm
fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv
GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
+OkuE6N36B9K
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw
CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe
Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw
EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x
IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF
K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG
fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO
Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd
BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx
AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/
oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8
sycX
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV
UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG
SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y
ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If
xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV
ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO
DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ
jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/
CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi
EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM
fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY
uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK
chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t
9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2
SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd
+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc
fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa
sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N
cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N
0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie
4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI
r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1
/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm
gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH
MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM
QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy
MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl
cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM
f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX
mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7
zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P
fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc
vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4
Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp
zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO
Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW
k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+
DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF
lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW
Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1
d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z
XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR
gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3
d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv
J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg
DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM
+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy
F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9
SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws
E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE
BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz
dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG
A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U
cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf
qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ
JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ
+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS
s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5
HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7
70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG
V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S
qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S
5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia
C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX
OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE
FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2
KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B
8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ
MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc
0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ
u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF
u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH
YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8
GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO
RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e
KeC2uAloGRwYQw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE
BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL
MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP
Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr
ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL
MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1
yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr
VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/
nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG
XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj
vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt
Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g
N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC
nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
0vdXcDazv/wor3ElhVsT/h5/WrQ8
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
ReYNnyicsbkqWletNw+vHX/bvZ8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
WD9f
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3
MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub
j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo
U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b
u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+
bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
fF6adulZkMV8gzURZVE=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC
VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ
cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ
BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt
VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D
0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9
ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G
A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs
aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I
flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
MrY=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
Arculus FIDO2/U2F Key Card
--------------------------
-----BEGIN CERTIFICATE-----
MIIC+jCCAqCgAwIBAgIUTXJy28lpQVlhIp7ETBi+U4bcaD8wCgYIKoZIzj0EAwIw
gYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApOZXcgSmVyc2V5MREwDwYDVQQHDAhT
b21lcnNldDEUMBIGA1UECgwLQ29tcG9TZWN1cmUxEDAOBgNVBAsMB0FyY3VsdXMx
ITAfBgNVBAMMGENvbXBvU2VjdXJlLUZJRE8tQ0EtUm9vdDAgFw0yMzA0MTgxNTQ1
NTBaGA8yMDUzMDQxMDE1NDU1MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApO
ZXcgSmVyc2V5MREwDwYDVQQHDAhTb21lcnNldDEUMBIGA1UECgwLQ29tcG9TZWN1
cmUxEDAOBgNVBAsMB0FyY3VsdXMxITAfBgNVBAMMGENvbXBvU2VjdXJlLUZJRE8t
Q0EtUm9vdDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCgG7r6VA/h+BynUnyDZ
MD0VZkYW6RGnph0w25gQDWMoqAaiUaFG5MClkhakIBpLF+6xJBhO1gs+7C1k/juV
uv2jgfMwgfAwHQYDVR0OBBYEFJz1gFtTTBNfffDKvdjpUEyp70ztMIHABgNVHSME
gbgwgbWAFJz1gFtTTBNfffDKvdjpUEyp70ztoYGGpIGDMIGAMQswCQYDVQQGEwJV
UzETMBEGA1UECAwKTmV3IEplcnNleTERMA8GA1UEBwwIU29tZXJzZXQxFDASBgNV
BAoMC0NvbXBvU2VjdXJlMRAwDgYDVQQLDAdBcmN1bHVzMSEwHwYDVQQDDBhDb21w
b1NlY3VyZS1GSURPLUNBLVJvb3SCFE1yctvJaUFZYSKexEwYvlOG3Gg/MAwGA1Ud
EwQFMAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIgcgXGMDP2rfh4ETY9EJLwuXo1S9Ui
qtEmPhq9/diS0nACIQDoyLZosx8rRAF1vpRXcsVQDDSHoEs/PbmF3Er/mJ0x6w==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIC5DCCAoqgAwIBAgIJAJ1mgX+TKiH7MAoGCCqGSM49BAMCMIGAMQswCQYDVQQG
EwJVUzETMBEGA1UECAwKTmV3IEplcnNleTERMA8GA1UEBwwIU29tZXJzZXQxFDAS
BgNVBAoMC0NvbXBvU2VjdXJlMRAwDgYDVQQLDAdBcmN1bHVzMSEwHwYDVQQDDBhD
b21wb1NlY3VyZS1GSURPLUNBLVJvb3QwIBcNMjMwMTEzMTc1NTMwWhgPMjA1MzAx
MDUxNzU1MzBaMIGAMQswCQYDVQQGEwJVUzETMBEGA1UECAwKTmV3IEplcnNleTER
MA8GA1UEBwwIU29tZXJzZXQxFDASBgNVBAoMC0NvbXBvU2VjdXJlMRAwDgYDVQQL
DAdBcmN1bHVzMSEwHwYDVQQDDBhDb21wb1NlY3VyZS1GSURPLUNBLVJvb3QwWTAT
BgcqhkjOPQIBBggqhkjOPQMBBwNCAAR3NlslpEpX/BiZ9RpWE+qrm2IRMLi3bksd
aHSpA8+ozUaFavT4L0pPSLBhnTRF15CaTHJMcEUGugr/xoGTdLNpo4HoMIHlMB0G
A1UdDgQWBBR4z78sTmaiwHBw0fzV66W6fl/9WDCBtQYDVR0jBIGtMIGqgBR4z78s
TmaiwHBw0fzV66W6fl/9WKGBhqSBgzCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgM
Ck5ldyBKZXJzZXkxETAPBgNVBAcMCFNvbWVyc2V0MRQwEgYDVQQKDAtDb21wb1Nl
Y3VyZTEQMA4GA1UECwwHQXJjdWx1czEhMB8GA1UEAwwYQ29tcG9TZWN1cmUtRklE
Ty1DQS1Sb290ggkAnWaBf5MqIfswDAYDVR0TBAUwAwEB/zAKBggqhkjOPQQDAgNI
ADBFAiBpeKFNvzFvn+zY8cQdmFGrtl01Jxyllavlqxutc2xtRgIhAO01eFsUvTDd
kTeHm9eAvwLP5vXNIrU3MOxjwaIltaOY
-----END CERTIFICATE-----
@@ -0,0 +1,21 @@
Arculus FIDO2/U2F Key Card [P71]
--------------------------------
-----BEGIN CERTIFICATE-----
MIIC+jCCAqCgAwIBAgIUTXJy28lpQVlhIp7ETBi+U4bcaD8wCgYIKoZIzj0EAwIw
gYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApOZXcgSmVyc2V5MREwDwYDVQQHDAhT
b21lcnNldDEUMBIGA1UECgwLQ29tcG9TZWN1cmUxEDAOBgNVBAsMB0FyY3VsdXMx
ITAfBgNVBAMMGENvbXBvU2VjdXJlLUZJRE8tQ0EtUm9vdDAgFw0yMzA0MTgxNTQ1
NTBaGA8yMDUzMDQxMDE1NDU1MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApO
ZXcgSmVyc2V5MREwDwYDVQQHDAhTb21lcnNldDEUMBIGA1UECgwLQ29tcG9TZWN1
cmUxEDAOBgNVBAsMB0FyY3VsdXMxITAfBgNVBAMMGENvbXBvU2VjdXJlLUZJRE8t
Q0EtUm9vdDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCgG7r6VA/h+BynUnyDZ
MD0VZkYW6RGnph0w25gQDWMoqAaiUaFG5MClkhakIBpLF+6xJBhO1gs+7C1k/juV
uv2jgfMwgfAwHQYDVR0OBBYEFJz1gFtTTBNfffDKvdjpUEyp70ztMIHABgNVHSME
gbgwgbWAFJz1gFtTTBNfffDKvdjpUEyp70ztoYGGpIGDMIGAMQswCQYDVQQGEwJV
UzETMBEGA1UECAwKTmV3IEplcnNleTERMA8GA1UEBwwIU29tZXJzZXQxFDASBgNV
BAoMC0NvbXBvU2VjdXJlMRAwDgYDVQQLDAdBcmN1bHVzMSEwHwYDVQQDDBhDb21w
b1NlY3VyZS1GSURPLUNBLVJvb3SCFE1yctvJaUFZYSKexEwYvlOG3Gg/MAwGA1Ud
EwQFMAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIgcgXGMDP2rfh4ETY9EJLwuXo1S9Ui
qtEmPhq9/diS0nACIQDoyLZosx8rRAF1vpRXcsVQDDSHoEs/PbmF3Er/mJ0x6w==
-----END CERTIFICATE-----
@@ -0,0 +1,21 @@
Arculus FIDO 2.1 Key Card
-------------------------
-----BEGIN CERTIFICATE-----
MIIC5DCCAoqgAwIBAgIJAJ1mgX+TKiH7MAoGCCqGSM49BAMCMIGAMQswCQYDVQQG
EwJVUzETMBEGA1UECAwKTmV3IEplcnNleTERMA8GA1UEBwwIU29tZXJzZXQxFDAS
BgNVBAoMC0NvbXBvU2VjdXJlMRAwDgYDVQQLDAdBcmN1bHVzMSEwHwYDVQQDDBhD
b21wb1NlY3VyZS1GSURPLUNBLVJvb3QwIBcNMjMwMTEzMTc1NTMwWhgPMjA1MzAx
MDUxNzU1MzBaMIGAMQswCQYDVQQGEwJVUzETMBEGA1UECAwKTmV3IEplcnNleTER
MA8GA1UEBwwIU29tZXJzZXQxFDASBgNVBAoMC0NvbXBvU2VjdXJlMRAwDgYDVQQL
DAdBcmN1bHVzMSEwHwYDVQQDDBhDb21wb1NlY3VyZS1GSURPLUNBLVJvb3QwWTAT
BgcqhkjOPQIBBggqhkjOPQMBBwNCAAR3NlslpEpX/BiZ9RpWE+qrm2IRMLi3bksd
aHSpA8+ozUaFavT4L0pPSLBhnTRF15CaTHJMcEUGugr/xoGTdLNpo4HoMIHlMB0G
A1UdDgQWBBR4z78sTmaiwHBw0fzV66W6fl/9WDCBtQYDVR0jBIGtMIGqgBR4z78s
TmaiwHBw0fzV66W6fl/9WKGBhqSBgzCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgM
Ck5ldyBKZXJzZXkxETAPBgNVBAcMCFNvbWVyc2V0MRQwEgYDVQQKDAtDb21wb1Nl
Y3VyZTEQMA4GA1UECwwHQXJjdWx1czEhMB8GA1UEAwwYQ29tcG9TZWN1cmUtRklE
Ty1DQS1Sb290ggkAnWaBf5MqIfswDAYDVR0TBAUwAwEB/zAKBggqhkjOPQQDAgNI
ADBFAiBpeKFNvzFvn+zY8cQdmFGrtl01Jxyllavlqxutc2xtRgIhAO01eFsUvTDd
kTeHm9eAvwLP5vXNIrU3MOxjwaIltaOY
-----END CERTIFICATE-----
@@ -0,0 +1,21 @@
Arculus FIDO 2.1 Key Card [P71]
-------------------------------
-----BEGIN CERTIFICATE-----
MIIC+jCCAqCgAwIBAgIUTXJy28lpQVlhIp7ETBi+U4bcaD8wCgYIKoZIzj0EAwIw
gYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApOZXcgSmVyc2V5MREwDwYDVQQHDAhT
b21lcnNldDEUMBIGA1UECgwLQ29tcG9TZWN1cmUxEDAOBgNVBAsMB0FyY3VsdXMx
ITAfBgNVBAMMGENvbXBvU2VjdXJlLUZJRE8tQ0EtUm9vdDAgFw0yMzA0MTgxNTQ1
NTBaGA8yMDUzMDQxMDE1NDU1MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApO
ZXcgSmVyc2V5MREwDwYDVQQHDAhTb21lcnNldDEUMBIGA1UECgwLQ29tcG9TZWN1
cmUxEDAOBgNVBAsMB0FyY3VsdXMxITAfBgNVBAMMGENvbXBvU2VjdXJlLUZJRE8t
Q0EtUm9vdDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCgG7r6VA/h+BynUnyDZ
MD0VZkYW6RGnph0w25gQDWMoqAaiUaFG5MClkhakIBpLF+6xJBhO1gs+7C1k/juV
uv2jgfMwgfAwHQYDVR0OBBYEFJz1gFtTTBNfffDKvdjpUEyp70ztMIHABgNVHSME
gbgwgbWAFJz1gFtTTBNfffDKvdjpUEyp70ztoYGGpIGDMIGAMQswCQYDVQQGEwJV
UzETMBEGA1UECAwKTmV3IEplcnNleTERMA8GA1UEBwwIU29tZXJzZXQxFDASBgNV
BAoMC0NvbXBvU2VjdXJlMRAwDgYDVQQLDAdBcmN1bHVzMSEwHwYDVQQDDBhDb21w
b1NlY3VyZS1GSURPLUNBLVJvb3SCFE1yctvJaUFZYSKexEwYvlOG3Gg/MAwGA1Ud
EwQFMAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIgcgXGMDP2rfh4ETY9EJLwuXo1S9Ui
qtEmPhq9/diS0nACIQDoyLZosx8rRAF1vpRXcsVQDDSHoEs/PbmF3Er/mJ0x6w==
-----END CERTIFICATE-----
@@ -0,0 +1,15 @@
ATKey.Card CTAP2.0
------------------
-----BEGIN CERTIFICATE-----
MIIBzDCCAXGgAwIBAgIBATAKBggqhkjOPQQDAjBiMQswCQYDVQQGEwJTRTESMBAG
A1UECgwJQVRLZXlDQTAwMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0
aW9uMRswGQYDVQQDExJBdXRoZW50cmVuZCBDQSAwMDAwIBcNMTYwMjI2MDgxMTA2
WhgPMjA1MDAyMjUwODExMDZaMGIxCzAJBgNVBAYTAlNFMRIwEAYDVQQKDAlBVEtl
eUNBMDAxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xGzAZBgNV
BAMTEkF1dGhlbnRyZW5kIENBIDAwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA
BAJcWqeCxga9KJbFO2TZdjcgrtZAgfi8TXKu+v5lcR5ceb5GJYxyoCjhueESL3dd
mMIkpGyhsEEtfFUyBwsyFVCjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwCgYIKoZI
zj0EAwIDSQAwRgIhAL4TbP00sENbTEXGoagM6Hkl2XIDrxgKbHwow/9GibYTAiEA
udIm7EGqfya8QygKcbkQfqrwefYnBvZKI0xwn/kKWx4=
-----END CERTIFICATE-----
@@ -0,0 +1,13 @@
ATKey.Card NFC
--------------
-----BEGIN CERTIFICATE-----
MIIBbTCCARSgAwIBAgIBATAKBggqhkjOPQQDAjAtMSswKQYDVQQDDCJBdXRoZW50
cmVuZCBBVEtleSBSb290IENBIDIwMjIwOTA4MCAXDTIyMDkwODA4Mzg1N1oYDzIw
NjIwODI5MDgzODU3WjAtMSswKQYDVQQDDCJBdXRoZW50cmVuZCBBVEtleSBSb290
IENBIDIwMjIwOTA4MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/N+v/Pbx64tD
vMMiSkcjwP5M8D2IUfrGl0HnzoHMJGUwb+R48MezWi1J3ZBXeOpSHfjrgxFfo3ir
LeLVwIK7C6MjMCEwDwYDVR0TBAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwCgYI
KoZIzj0EAwIDRwAwRAIgWqn3eN+y0V933MGj3fQrdrUXs8VmUprEs7C0NV98DTIC
IEYC++9dO4cjaURuW4bdtOzIq0P4cTWd7pScBajLN3dx
-----END CERTIFICATE-----
@@ -0,0 +1,12 @@
ATKey.Hello TypeC
-----------------
-----BEGIN CERTIFICATE-----
MIIBSTCB76ADAgECAhDyFMXqOf/nEYeDgG5vbmljMAoGCCqGSM49BAMCMCgxJjAk
BgNVBAMTHUVnaXNUZWMgRmluZ2VycHJpbnQgVTJGIFZEIENBMB4XDTE4MDEyMzAw
MDAwMFoXDTIzMDEyMzA1NTk1OVowJTEjMCEGA1UEAxMaRWdpc1RlYyBGaW5nZXJw
cmludCBVMkYgVkQwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASj6/E9C4cTFsEH
vOJGEVvkDgHRwJWQr4uCtVcbKsFUKm9luL6aRR52FRGTIdzbjUMk1ieDyRHu7KKW
RNF14M+NMAoGCCqGSM49BAMCA0kAMEYCIQCQhjolqZveADb0w7vds8+1pFy3WBUi
JsDLvkWD6uP/qQIhAKKHu4LaiZDqtRTq9/aFK4L4oSpaQVG7hzvZcVP2YWyJ
-----END CERTIFICATE-----
@@ -0,0 +1,15 @@
ATKey.Pro CTAP2.0
-----------------
-----BEGIN CERTIFICATE-----
MIIBzDCCAXGgAwIBAgIBATAKBggqhkjOPQQDAjBiMQswCQYDVQQGEwJTRTESMBAG
A1UECgwJQVRLZXlDQTAwMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0
aW9uMRswGQYDVQQDExJBdXRoZW50cmVuZCBDQSAwMDAwIBcNMTYwMjI2MDgxMTA2
WhgPMjA1MDAyMjUwODExMDZaMGIxCzAJBgNVBAYTAlNFMRIwEAYDVQQKDAlBVEtl
eUNBMDAxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xGzAZBgNV
BAMTEkF1dGhlbnRyZW5kIENBIDAwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA
BAJcWqeCxga9KJbFO2TZdjcgrtZAgfi8TXKu+v5lcR5ceb5GJYxyoCjhueESL3dd
mMIkpGyhsEEtfFUyBwsyFVCjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwCgYIKoZI
zj0EAwIDSQAwRgIhAL4TbP00sENbTEXGoagM6Hkl2XIDrxgKbHwow/9GibYTAiEA
udIm7EGqfya8QygKcbkQfqrwefYnBvZKI0xwn/kKWx4=
-----END CERTIFICATE-----
@@ -0,0 +1,15 @@
ATKey.Pro CTAP2.1
-----------------
-----BEGIN CERTIFICATE-----
MIIBzDCCAXGgAwIBAgIBATAKBggqhkjOPQQDAjBiMQswCQYDVQQGEwJTRTESMBAG
A1UECgwJQVRLZXlDQTAwMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0
aW9uMRswGQYDVQQDExJBdXRoZW50cmVuZCBDQSAwMDAwIBcNMTYwMjI2MDgxMTA2
WhgPMjA1MDAyMjUwODExMDZaMGIxCzAJBgNVBAYTAlNFMRIwEAYDVQQKDAlBVEtl
eUNBMDAxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xGzAZBgNV
BAMTEkF1dGhlbnRyZW5kIENBIDAwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA
BAJcWqeCxga9KJbFO2TZdjcgrtZAgfi8TXKu+v5lcR5ceb5GJYxyoCjhueESL3dd
mMIkpGyhsEEtfFUyBwsyFVCjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwCgYIKoZI
zj0EAwIDSQAwRgIhAL4TbP00sENbTEXGoagM6Hkl2XIDrxgKbHwow/9GibYTAiEA
udIm7EGqfya8QygKcbkQfqrwefYnBvZKI0xwn/kKWx4=
-----END CERTIFICATE-----
@@ -0,0 +1,13 @@
ATKey.ProS
----------
-----BEGIN CERTIFICATE-----
MIIBbTCCARSgAwIBAgIBATAKBggqhkjOPQQDAjAtMSswKQYDVQQDDCJBdXRoZW50
cmVuZCBBVEtleSBSb290IENBIDIwMjIwOTA4MCAXDTIyMDkwODA4Mzg1N1oYDzIw
NjIwODI5MDgzODU3WjAtMSswKQYDVQQDDCJBdXRoZW50cmVuZCBBVEtleSBSb290
IENBIDIwMjIwOTA4MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/N+v/Pbx64tD
vMMiSkcjwP5M8D2IUfrGl0HnzoHMJGUwb+R48MezWi1J3ZBXeOpSHfjrgxFfo3ir
LeLVwIK7C6MjMCEwDwYDVR0TBAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwCgYI
KoZIzj0EAwIDRwAwRAIgWqn3eN+y0V933MGj3fQrdrUXs8VmUprEs7C0NV98DTIC
IEYC++9dO4cjaURuW4bdtOzIq0P4cTWd7pScBajLN3dx
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
ATLKey Authenticator
--------------------
-----BEGIN CERTIFICATE-----
MIIBnTCCAUSgAwIBAgIUeCtNNwTi+UmLgnuS00DCjxZ0aFQwCgYIKoZIzj0EAwIw
PTEaMBgGA1UEAwwRQXRsYW5jdWJlIEZJRE8gQ0ExEjAQBgNVBAoMCUF0bGFuY3Vi
ZTELMAkGA1UEBhMCVFcwIBcNMjUwNjE5MTUxOTIzWhgPMjEyNDA1MjcxNTE5MjNa
MD0xGjAYBgNVBAMMEUF0bGFuY3ViZSBGSURPIENBMRIwEAYDVQQKDAlBdGxhbmN1
YmUxCzAJBgNVBAYTAlRXMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEERKz3/zP
n9Pn7zZGPyacSbjY0CALdPHPHED2w3Wc+mU+K7poYWzvjuI9M3Pya9iJrJ00ltDA
0/VZW28lra+w4aMgMB4wDwYDVR0TBAgwBgEB/wIBADALBgNVHQ8EBAMCAQYwCgYI
KoZIzj0EAwIDRwAwRAIgLZvGZGlepxiFBbU8WdknXucloW6sHNo0YKDMC7cQuG4C
ID/q7aLWkprtHyZJEasve1Pk796Qa1GohXOXHXMDCRXu
-----END CERTIFICATE-----
@@ -0,0 +1,27 @@
Atos CardOS FIDO2
-----------------
-----BEGIN CERTIFICATE-----
MIIBnTCCAUOgAwIBAgIJAKIFntEOQ1tXMAoGCCqGSM49BAMCMFQxCzAJBgNVBAYT
AkdFMQ0wCwYDVQQKDARBdG9zMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVz
dGF0aW9uMRIwEAYDVQQDDAlBdG9zIHJvb3QwHhcNMjIwMzA4MTEyMDI5WhcNMzcw
MzA0MTEyMDI5WjBUMQswCQYDVQQGEwJHRTENMAsGA1UECgwEQXRvczEiMCAGA1UE
CwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjESMBAGA1UEAwwJQXRvcyByb290
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEj28UDEcSqGRUT1PMDasmj2Gd6BsT
TS0M1O2W9dM0YEY9hrDgD/AswRVcRbxnyt3xdCP0KhIiegNIRwUcVEJvezAKBggq
hkjOPQQDAgNIADBFAiEA61mCCoCnDxCkVBXDmhjmG01ibdRWV63j5ScSjBFnIkcC
IEAd1Wwb1iUyKBfjpxk/R/t0OsptPOIF87uShy3lXvbH
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBsjCCAVigAwIBAgIJAKIFntEOQ1tXMAoGCCqGSM49BAMCMFQxCzAJBgNVBAYT
AkdFMQ0wCwYDVQQKDARBdG9zMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVz
dGF0aW9uMRIwEAYDVQQDDAlBdG9zIHJvb3QwHhcNMjAwOTA5MDYxNDU4WhcNMzAw
OTA3MDYxNDU4WjBUMQswCQYDVQQGEwJHRTENMAsGA1UECgwEQXRvczEiMCAGA1UE
CwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjESMBAGA1UEAwwJQXRvcyByb290
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpKR0f6Vdq0PYXxH7JVMkGxNoM4Xo
HFuQ+e7qf+04P4J2GGS9vXFLVQZ5coFnRPfCflDCLkzafM3QEdcYCVoyPKMTMBEw
DwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiEAzXpow3/4yOXNbALo
dMv5KIornn5wRRI36YQpv3Wbh00CIEy14Sy7LrlgJSZTG0Md5wjQbyoVTfU/2oZy
p9EnplDL
-----END CERTIFICATE-----
@@ -0,0 +1,57 @@
authenton1 - CTAP2.1
--------------------
-----BEGIN CERTIFICATE-----
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
WD9f
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFhDCCBGygAwIBAgIMbUI9+zyEQUTD+dnCMA0GCSqGSIb3DQEBCwUAMFsxCzAJ
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH
bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwMB4XDTIzMDEy
NDE1MDEwM1oXDTI2MDEyNDE1MDEwM1owgbYxCzAJBgNVBAYTAkRFMQ8wDQYDVQQI
EwZCYXllcm4xETAPBgNVBAcTCEFzY2hoZWltMSowKAYDVQQKEyFBSVhlY3V0aXZl
LmNvbSAoQXhlbCBWb25kZXJoYWdlbikxEjAQBgNVBAsTCWF1dGhlbnRvbjETMBEG
A1UEAxMKQUlYZWN1dGl2ZTEuMCwGCSqGSIb3DQEJARYfQVhFTC5WT05ERVJIQUdF
TkBBSVhFQ1VUSVZFLkNPTTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKf/4GzGAUmJH4R9mCvcJ+CgTUgP1DNr8dN2kDvSA9xuIMb1NZJXQgxSOOAYqIBz
FNcjkNVl80Y3drm4tPJSl3kfWWM26xYLFsvl1BcqtrPrssyxIBtX5kTe2p+M9Rlc
ZQcEj5CbYpASpuSTByzoOuf+VSfOUVqDzCDH4CqsECyvyLKrJw9kjN4B6lFXyzmr
IWqRmGWKx4cso/wxYIUNcOV+p6I84Y2z1nFIWEhcA6dgrJQnDpD5IGEJdSxTn8t2
ZnANp4JEAp8j5w3tbU89RKi3yPAuwsxi3XcloFAtGxw2wk7nJyizq98tO5lwfgHN
/YnglYwU4UFnOBzP5MuzPrECAwEAAaOCAeowggHmMA4GA1UdDwEB/wQEAwIFoDCB
owYIKwYBBQUHAQEEgZYwgZMwTgYIKwYBBQUHMAKGQmh0dHA6Ly9zZWN1cmUuZ2xv
YmFsc2lnbi5jb20vY2FjZXJ0L2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwLmNy
dDBBBggrBgEFBQcwAYY1aHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2Ny
M3BlcnNvbmFsc2lnbjJjYTIwMjAwTQYDVR0gBEYwRDBCBgorBgEEAaAyASgKMDQw
MgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRv
cnkvMAkGA1UdEwQCMAAwSQYDVR0fBEIwQDA+oDygOoY4aHR0cDovL2NybC5nbG9i
YWxzaWduLmNvbS9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcmwwKgYDVR0R
BCMwIYEfQVhFTC5WT05ERVJIQUdFTkBBSVhFQ1VUSVZFLkNPTTAdBgNVHSUEFjAU
BggrBgEFBQcDAgYIKwYBBQUHAwQwHwYDVR0jBBgwFoAUljPR5lgXWzR1ioFWZNW+
SN6hj88wHQYDVR0OBBYEFC57LN3RW38dexQhxfHW/WWt7cCQMA0GCSqGSIb3DQEB
CwUAA4IBAQCvvPim7joF0G4vOepSFbCRgtCwRAyen9fHzDS27WnsTbG9Uoq+ziGr
cD+U5EnH6UrmF1BqxXL1CjqEPrn5YQtZSs3pfvonXkFChtiYYOgK4gIqJtCVBaX3
H4DHkI1V7Bh7b4vjZAD8cJLxiJf6AvI4e11D9K5tpZ7YZQE5Mw49VDtQ8A7pkjO6
wXjHFXXgY1lPw+LRQuU3m9KGAM3C4ge0otpW0XyKDxqsKWOxmMX7IjhXFDpKYopm
mLPcTz70ONtbE2NHyIa3UujhcjbcrpoNkmaFiLk2pqKRZIoHkZaFMd9waQ9f1lS2
wwVQxtH+vNV9N3K+HnL3nB/CU2E0btJH
-----END CERTIFICATE-----
@@ -0,0 +1,57 @@
authenton1 - CTAP 2.1
---------------------
-----BEGIN CERTIFICATE-----
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
WD9f
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFhDCCBGygAwIBAgIMbUI9+zyEQUTD+dnCMA0GCSqGSIb3DQEBCwUAMFsxCzAJ
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH
bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwMB4XDTIzMDEy
NDE1MDEwM1oXDTI2MDEyNDE1MDEwM1owgbYxCzAJBgNVBAYTAkRFMQ8wDQYDVQQI
EwZCYXllcm4xETAPBgNVBAcTCEFzY2hoZWltMSowKAYDVQQKEyFBSVhlY3V0aXZl
LmNvbSAoQXhlbCBWb25kZXJoYWdlbikxEjAQBgNVBAsTCWF1dGhlbnRvbjETMBEG
A1UEAxMKQUlYZWN1dGl2ZTEuMCwGCSqGSIb3DQEJARYfQVhFTC5WT05ERVJIQUdF
TkBBSVhFQ1VUSVZFLkNPTTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKf/4GzGAUmJH4R9mCvcJ+CgTUgP1DNr8dN2kDvSA9xuIMb1NZJXQgxSOOAYqIBz
FNcjkNVl80Y3drm4tPJSl3kfWWM26xYLFsvl1BcqtrPrssyxIBtX5kTe2p+M9Rlc
ZQcEj5CbYpASpuSTByzoOuf+VSfOUVqDzCDH4CqsECyvyLKrJw9kjN4B6lFXyzmr
IWqRmGWKx4cso/wxYIUNcOV+p6I84Y2z1nFIWEhcA6dgrJQnDpD5IGEJdSxTn8t2
ZnANp4JEAp8j5w3tbU89RKi3yPAuwsxi3XcloFAtGxw2wk7nJyizq98tO5lwfgHN
/YnglYwU4UFnOBzP5MuzPrECAwEAAaOCAeowggHmMA4GA1UdDwEB/wQEAwIFoDCB
owYIKwYBBQUHAQEEgZYwgZMwTgYIKwYBBQUHMAKGQmh0dHA6Ly9zZWN1cmUuZ2xv
YmFsc2lnbi5jb20vY2FjZXJ0L2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwLmNy
dDBBBggrBgEFBQcwAYY1aHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2Ny
M3BlcnNvbmFsc2lnbjJjYTIwMjAwTQYDVR0gBEYwRDBCBgorBgEEAaAyASgKMDQw
MgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRv
cnkvMAkGA1UdEwQCMAAwSQYDVR0fBEIwQDA+oDygOoY4aHR0cDovL2NybC5nbG9i
YWxzaWduLmNvbS9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcmwwKgYDVR0R
BCMwIYEfQVhFTC5WT05ERVJIQUdFTkBBSVhFQ1VUSVZFLkNPTTAdBgNVHSUEFjAU
BggrBgEFBQcDAgYIKwYBBQUHAwQwHwYDVR0jBBgwFoAUljPR5lgXWzR1ioFWZNW+
SN6hj88wHQYDVR0OBBYEFC57LN3RW38dexQhxfHW/WWt7cCQMA0GCSqGSIb3DQEB
CwUAA4IBAQCvvPim7joF0G4vOepSFbCRgtCwRAyen9fHzDS27WnsTbG9Uoq+ziGr
cD+U5EnH6UrmF1BqxXL1CjqEPrn5YQtZSs3pfvonXkFChtiYYOgK4gIqJtCVBaX3
H4DHkI1V7Bh7b4vjZAD8cJLxiJf6AvI4e11D9K5tpZ7YZQE5Mw49VDtQ8A7pkjO6
wXjHFXXgY1lPw+LRQuU3m9KGAM3C4ge0otpW0XyKDxqsKWOxmMX7IjhXFDpKYopm
mLPcTz70ONtbE2NHyIa3UujhcjbcrpoNkmaFiLk2pqKRZIoHkZaFMd9waQ9f1lS2
wwVQxtH+vNV9N3K+HnL3nB/CU2E0btJH
-----END CERTIFICATE-----
@@ -0,0 +1,21 @@
Bluink Key U2F Authenticator
----------------------------
-----BEGIN CERTIFICATE-----
MIICzTCCAnOgAwIBAgIJAM+a12VznCtGMAkGByqGSM49BAEwezELMAkGA1UEBhMC
Q0ExEDAOBgNVBAgTB09udGFyaW8xDzANBgNVBAcTBk90dGF3YTETMBEGA1UEChMK
Qmx1aW5rIEx0ZDETMBEGA1UEAxMKQmx1aW5rIEtleTEfMB0GCSqGSIb3DQEJARYQ
bGhhbWlkQGJsdWluay5jYTAeFw0xNzA1MTExNDQ3NTdaFw0yMDA1MTAxNDQ3NTda
MHsxCzAJBgNVBAYTAkNBMRAwDgYDVQQIEwdPbnRhcmlvMQ8wDQYDVQQHEwZPdHRh
d2ExEzARBgNVBAoTCkJsdWluayBMdGQxEzARBgNVBAMTCkJsdWluayBLZXkxHzAd
BgkqhkiG9w0BCQEWEGxoYW1pZEBibHVpbmsuY2EwWTATBgcqhkjOPQIBBggqhkjO
PQMBBwNCAATmBAICSLbnRAfmagb7GLsDJQkHPS4s26D8rNwigtG9hUc/nC6dx1Mz
27fahnxkmu7q5TDwsZr7ZZ6PgAsWUZvYo4HgMIHdMB0GA1UdDgQWBBT/+UDTV5vE
QEBVdHs2cNQ6HpfQVDCBrQYDVR0jBIGlMIGigBT/+UDTV5vEQEBVdHs2cNQ6HpfQ
VKF/pH0wezELMAkGA1UEBhMCQ0ExEDAOBgNVBAgTB09udGFyaW8xDzANBgNVBAcT
Bk90dGF3YTETMBEGA1UEChMKQmx1aW5rIEx0ZDETMBEGA1UEAxMKQmx1aW5rIEtl
eTEfMB0GCSqGSIb3DQEJARYQbGhhbWlkQGJsdWluay5jYYIJAM+a12VznCtGMAwG
A1UdEwQFMAMBAf8wCQYHKoZIzj0EAQNJADBGAiEA5gf41zQJChcDZfEpj0xSpbgv
XUyLph2StREzEKd3RxkCIQC6iSmjKCK+OvpAdwn1UkoLN43nvY7DtATVDc4PkW04
vw==
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
CardOS FIDO2 Token
------------------
-----BEGIN CERTIFICATE-----
MIIBmzCCAUGgAwIBAgIJAKIFntEOQ1tXMAoGCCqGSM49BAMCMFMxCzAJBgNVBAYT
AkRFMQ8wDQYDVQQKDAZDYXJkT1MxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0
ZXN0YXRpb24xDzANBgNVBAMMBkNhcmRPUzAeFw0yNDA2MDQwOTQwNTdaFw0zOTA2
MDEwOTQwNTdaMFMxCzAJBgNVBAYTAkRFMQ8wDQYDVQQKDAZDYXJkT1MxIjAgBgNV
BAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xDzANBgNVBAMMBkNhcmRPUzBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABOs5+63X5miRnDVqnEIUKd4+KzJ+ATN/
VxWiBgNmAOOEo1AMVnxBAIf4/ahj5CypuDiLFAcCSvLALT4LmIQivX8wCgYIKoZI
zj0EAwIDSAAwRQIgHMT5ymII55Urh+J5h0vK0Gp8LVlrT7BRV7PjIoe3D14CIQDf
CXgMAGNpGfo75WOWqKq8vWIyLm0u/cUluvdrL7cZSw==
-----END CERTIFICATE-----
@@ -0,0 +1,15 @@
Chipwon Clife Key
-----------------
-----BEGIN CERTIFICATE-----
MIIBzjCCAXWgAwIBAgIUEV2uY0V01jqbXPEjMfYzCe+5VBwwCgYIKoZIzj0EAwIw
IDEeMBwGA1UEAwwVQ2hpcHdvbiBGSURPMiBDQSAwMDAxMCAXDTIzMDMwNzAzMTgw
NFoYDzIwNzMwMjIyMDMxODA0WjAgMR4wHAYDVQQDDBVDaGlwd29uIEZJRE8yIENB
IDAwMDEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAScI1TjULOUOLOSvJI8iX7j
lj/sa1giOdBEq20W6wkXnzxQJ6Kg1Nuohse+iIS40qMCyy3ApaZxwNR+/28VGmPw
o4GKMIGHMB0GA1UdDgQWBBQz89JQXTxbyjSlS35msPH7ayiGezBFBgNVHSMEPjA8
oSSkIjAgMR4wHAYDVQQDDBVDaGlwd29uIEZJRE8yIENBIDAwMDGCFBFdrmNFdNY6
m1zxIzH2MwnvuVQcMA8GA1UdEwQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMAoG
CCqGSM49BAMCA0cAMEQCIDwh8SAsItQKaKta1kt2bv2prvF5UtWAkTV0eg8kLfLK
AiAgex9xpKGCLPei+8TuEkxyKQC9F67t96HVvQPE+uUfBQ==
-----END CERTIFICATE-----
@@ -0,0 +1,17 @@
Chunghwa Telecom FIDO2 Smart Card Authenticator
-----------------------------------------------
-----BEGIN CERTIFICATE-----
MIICNzCCAb6gAwIBAgIUXxwEkUH4+hB1lU8FJNpBgzO52WowCgYIKoZIzj0EAwMw
UjELMAkGA1UEBhMCVFcxGTAXBgNVBAoMEENodW5naHdhIFRlbGVjb20xKDAmBgNV
BAMMH0NIVCBGSURPMiBBdXRoZW50aWNhdG9yIFJPT1QgQ0EwIBcNMjMwNDE1MTA1
MDM0WhgPMjA1MDA4MzExMDUwMzRaMFIxCzAJBgNVBAYTAlRXMRkwFwYDVQQKDBBD
aHVuZ2h3YSBUZWxlY29tMSgwJgYDVQQDDB9DSFQgRklETzIgQXV0aGVudGljYXRv
ciBST09UIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEcuOnckzUpHs30BfAqEjn
aTh7QIbbsh6IO9mioXT26Tq58OT+UrQmjMZWOvTb5KMeH7AuMnP0vtuRi7NwybjF
pLZ0z+NVQWLli+y6MrQ+LAXskLubldyjLmlrrEb3bnV4o1MwUTAdBgNVHQ4EFgQU
i1hFgvrw9yi+dvE2TiAVnhc0JUowHwYDVR0jBBgwFoAUi1hFgvrw9yi+dvE2TiAV
nhc0JUowDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjAWBopaL4jx
oYbvC5zcjJO/JEt72ViQaom1pKzmPmKiflfti9IIn3rz1jitP3zynC4CMHZNt1wM
JtNbFR5RIZfvEtE7m4o+8gdjrZjIYq+OjAYb5FG5MMWPJf/eYFGTIoWTFg==
-----END CERTIFICATE-----
@@ -0,0 +1,16 @@
Crayonic KeyVault K1 (USB-NFC-BLE FIDO2 Authenticator)
------------------------------------------------------
-----BEGIN CERTIFICATE-----
MIIB9DCCAZsCFFiPk5r64pgWhAQjii07mvSEF1/uMAoGCCqGSM49BAMCMHwxCzAJ
BgNVBAYTAk5MMREwDwYDVQQKDAhDcmF5b25pYzEiMCAGA1UECwwZQXV0aGVudGlj
YXRvciBBdHRlc3RhdGlvbjEVMBMGA1UEAwwMY3JheW9uaWMuY29tMR8wHQYJKoZI
hvcNAQkBFhBpbmZvQGNyYXlvbmljLmlvMCAXDTIxMTAxMTE1MDk0MFoYDzIwNzEw
OTI5MTUwOTQwWjB8MQswCQYDVQQGEwJOTDERMA8GA1UECgwIQ3JheW9uaWMxIjAg
BgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xFTATBgNVBAMMDGNyYXlv
bmljLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0BjcmF5b25pYy5pbzBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABFiiJHHhiKAMqD44crdeOc8VOXn4mhSQzeVdjbXx
hNombdzc4Wj681xFm4PQ3oshaq8oKqhxahdEubWtS9AmDoowCgYIKoZIzj0EAwID
RwAwRAIgZ6N03aCmLH4gujAZo5MZkex6VvNNRBhTW0V7+YYYuxgCIAG5q0CRIFwZ
ofpPAOPlB55HCvJyVjhI2LsDrju88dnt
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
Cryptnox FIDO2
--------------
-----BEGIN CERTIFICATE-----
MIICQTCCAaKgAwIBAgIGAIFDUXQrMAoGCCqGSM49BAMDME8xCzAJBgNVBAYTAkNI
MQ8wDQYDVQQIEwZHRU5FVkExFDASBgNVBAoTC0NSWVBUTk9YIFNBMRkwFwYDVQQD
ExBDUllQVE5PWCBST09UIENBMB4XDTIwMDYxNDAwMDAwMFoXDTQ5MTIyOTIzNTk1
OVowVzELMAkGA1UEBhMCQ0gxDzANBgNVBAgTBkdFTkVWQTEUMBIGA1UEChMLQ1JZ
UFROT1ggU0ExITAfBgNVBAMTGENSWVBUTk9YIElOVEVSTUVESUFURSBDQTB2MBAG
ByqGSM49AgEGBSuBBAAiA2IABGhcikuRYgNkak0pO8XgPWwG9RZXLQeqQEvKHfCn
37gaR5U9rhp4W8JTbfU9t8CFgD0DxNXEJE9KGNnLAtL708hCHeo6S5oeznGDFn9J
80bO7bdSDYHS5bzkEKPLNuamWKNFMEMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
HQ4EFgQUdrEtUyWaMtpVAQ7JGqQp3jzNShcwDgYDVR0PAQH/BAQDAgEGMAoGCCqG
SM49BAMDA4GMADCBiAJCAbWa/xcKx7KCcoUsp8SVZnWSxD8n91TqCJKajs7kJBz2
DzvZZtPxKsMY38lH/8MYTC3wlRwdZc5s61EhlbdnOguBAkIBFmJLsOPyMQWUxmWl
2zuAS7ctqU03U74C3UUHSKDH3WSJH+y3i/XsCs/FM+Dk/3FjOgQTxioaqIc3hrwh
PlmorNo=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICWTCCAbqgAwIBAgIGAIFDUXQpMAoGCCqGSM49BAMEME8xCzAJBgNVBAYTAkNI
MQ8wDQYDVQQIEwZHRU5FVkExFDASBgNVBAoTC0NSWVBUTk9YIFNBMRkwFwYDVQQD
ExBDUllQVE5PWCBST09UIENBMB4XDTIwMDYxNDAwMDAwMFoXDTQ5MTIzMDIzNTk1
OVowTzELMAkGA1UEBhMCQ0gxDzANBgNVBAgTBkdFTkVWQTEUMBIGA1UEChMLQ1JZ
UFROT1ggU0ExGTAXBgNVBAMTEENSWVBUTk9YIFJPT1QgQ0EwgZswEAYHKoZIzj0C
AQYFK4EEACMDgYYABAEJtmrMYc48nPSp0RRmEwT2U5aq0D1b3URLpmJP277ImEXK
EbjVQA8P3UyTdZinELTQ5g6E+lnN3GhUWif2/VmSbQDnu9f+ebyIZfBabosKK3SQ
Vv4KmuP9pb0f7P2vMPAUFJNZvKeH1DPtaZkFybMKZsg8CJEs7A9KW3RI/8QDpN1n
J6M/MD0wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUUnfLODDaku1o8CSuwWfWylj4
OvAwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMEA4GMADCBiAJCAKd8DeNhbPey
fh7UD3M9lPp5a77M1LmC2M2o7zRiHlePt+Xcr/I/xGK124gEuHjbOfyanre63EMT
uVW8ts5kR906AkIBgSIhJoENkMVFbeMRUDnDtbv+gKi+htqORGysid5sg2VvCX9Q
fnUqBKtZVUBeQVPk3E5GUEamLk4jljdvlDGSXpU=
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
Cryptnox FIDO2.1
----------------
-----BEGIN CERTIFICATE-----
MIICQTCCAaKgAwIBAgIGAIFDUXQrMAoGCCqGSM49BAMDME8xCzAJBgNVBAYTAkNI
MQ8wDQYDVQQIEwZHRU5FVkExFDASBgNVBAoTC0NSWVBUTk9YIFNBMRkwFwYDVQQD
ExBDUllQVE5PWCBST09UIENBMB4XDTIwMDYxNDAwMDAwMFoXDTQ5MTIyOTIzNTk1
OVowVzELMAkGA1UEBhMCQ0gxDzANBgNVBAgTBkdFTkVWQTEUMBIGA1UEChMLQ1JZ
UFROT1ggU0ExITAfBgNVBAMTGENSWVBUTk9YIElOVEVSTUVESUFURSBDQTB2MBAG
ByqGSM49AgEGBSuBBAAiA2IABGhcikuRYgNkak0pO8XgPWwG9RZXLQeqQEvKHfCn
37gaR5U9rhp4W8JTbfU9t8CFgD0DxNXEJE9KGNnLAtL708hCHeo6S5oeznGDFn9J
80bO7bdSDYHS5bzkEKPLNuamWKNFMEMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
HQ4EFgQUdrEtUyWaMtpVAQ7JGqQp3jzNShcwDgYDVR0PAQH/BAQDAgEGMAoGCCqG
SM49BAMDA4GMADCBiAJCAbWa/xcKx7KCcoUsp8SVZnWSxD8n91TqCJKajs7kJBz2
DzvZZtPxKsMY38lH/8MYTC3wlRwdZc5s61EhlbdnOguBAkIBFmJLsOPyMQWUxmWl
2zuAS7ctqU03U74C3UUHSKDH3WSJH+y3i/XsCs/FM+Dk/3FjOgQTxioaqIc3hrwh
PlmorNo=
-----END CERTIFICATE-----
@@ -0,0 +1,21 @@
Dapple Authenticator from Dapple Security Inc.
----------------------------------------------
-----BEGIN CERTIFICATE-----
MIIC9TCCApugAwIBAgIUX1QZKPzuXlwqUDPXKImrpb9U+icwCgYIKoZIzj0EAwIw
fzELMAkGA1UEBhMCVVMxETAPBgNVBAgMCENvbG9yYWRvMRMwEQYDVQQHDApDZW50
ZW5uaWFsMR0wGwYDVQQKDBREYXBwbGUgU2VjdXJpdHkgSW5jLjEQMA4GA1UECwwH
Um9vdCBDQTEXMBUGA1UEAwwORGFwcGxlIFJvb3QgQ0EwHhcNMjQwNjI3MjI0MTAy
WhcNMzQwNjI1MjI0MTAyWjB/MQswCQYDVQQGEwJVUzERMA8GA1UECAwIQ29sb3Jh
ZG8xEzARBgNVBAcMCkNlbnRlbm5pYWwxHTAbBgNVBAoMFERhcHBsZSBTZWN1cml0
eSBJbmMuMRAwDgYDVQQLDAdSb290IENBMRcwFQYDVQQDDA5EYXBwbGUgUm9vdCBD
QTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDJb2KIQQEo8dQieNB/DZOOJHM+0
5j0Vvb1EYxWX7GuWolN2J1Z5aC0hwGbwM+s91vLmRCbsmk+GF5d9kLcxKkSjgfQw
gfEwHQYDVR0OBBYEFJ8bRuF6zIXYozyKokAfeRIEtUcTMIG+BgNVHSMEgbYwgbOA
FJ8bRuF6zIXYozyKokAfeRIEtUcToYGEpIGBMH8xCzAJBgNVBAYTAlVTMREwDwYD
VQQIDAhDb2xvcmFkbzETMBEGA1UEBwwKQ2VudGVubmlhbDEdMBsGA1UECgwURGFw
cGxlIFNlY3VyaXR5IEluYy4xEDAOBgNVBAsMB1Jvb3QgQ0ExFzAVBgNVBAMMDkRh
cHBsZSBSb290IENBghRfVBko/O5eXCpQM9coiaulv1T6JzAPBgNVHRMBAf8EBTAD
AQH/MAoGCCqGSM49BAMCA0gAMEUCID7ln9ZgL9uvMp0/lKtK+r2R9ip3OmyAgPfb
mPdSrlVGAiEA3yE6Zkg45oYG7N+gRuN599V3vGG3Wz9JVBfmRRKkPUs=
-----END CERTIFICATE-----
@@ -0,0 +1,20 @@
Deepnet SafeKey/Classic (FP)
----------------------------
-----BEGIN CERTIFICATE-----
MIICnTCCAkSgAwIBAgIIcaDauTR6AI4wCgYIKoZIzj0EAwIwgaoxKjAoBgkqhkiG
9w0BCQEWG3N1cHBvcnRAZGVlcG5ldHNlY3VyaXR5LmNvbTENMAsGA1UECwwERklE
TzEZMBcGA1UECgwQRGVlcG5ldCBTZWN1cml0eTEQMA4GA1UEBwwHRW5nbGlzaDEQ
MA4GA1UECAwHRW5nbGFuZDEhMB8GA1UEAwwYZmlkby5kZWVwbmV0c2VjdXJpdHku
Y29tMQswCQYDVQQGEwJVSzAgFw0yNDAyMjcxMjE1NTVaGA8yMDc0MDIyNzEyMTU1
NVowgaoxKjAoBgkqhkiG9w0BCQEWG3N1cHBvcnRAZGVlcG5ldHNlY3VyaXR5LmNv
bTENMAsGA1UECwwERklETzEZMBcGA1UECgwQRGVlcG5ldCBTZWN1cml0eTEQMA4G
A1UEBwwHRW5nbGlzaDEQMA4GA1UECAwHRW5nbGFuZDEhMB8GA1UEAwwYZmlkby5k
ZWVwbmV0c2VjdXJpdHkuY29tMQswCQYDVQQGEwJVSzBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABKjXbN2q0MkVslo6SzI8g79dw20/3++QRlrQhM3huppZ5i5ElSFi
ywzWhpig81Aq0SIu2KmlTYpt86mLL+dAZ5GjUDBOMB0GA1UdDgQWBBS0GCwNMi6v
WaJlBry+gOnhYsrtoDAfBgNVHSMEGDAWgBS0GCwNMi6vWaJlBry+gOnhYsrtoDAM
BgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIGZcmqmChXi1hL9dZ2Xr6NKO
3hyfNBl75Z2Mixs9XTq/AiB77595vGu0Qq9H9AC7bUXp4Pm3SLHuk+kBY5nvwMTn
yA==
-----END CERTIFICATE-----
@@ -0,0 +1,20 @@
Deepnet SafeKey/Classic (NFC)
-----------------------------
-----BEGIN CERTIFICATE-----
MIICnTCCAkSgAwIBAgIIcaDauTR6AI4wCgYIKoZIzj0EAwIwgaoxKjAoBgkqhkiG
9w0BCQEWG3N1cHBvcnRAZGVlcG5ldHNlY3VyaXR5LmNvbTENMAsGA1UECwwERklE
TzEZMBcGA1UECgwQRGVlcG5ldCBTZWN1cml0eTEQMA4GA1UEBwwHRW5nbGlzaDEQ
MA4GA1UECAwHRW5nbGFuZDEhMB8GA1UEAwwYZmlkby5kZWVwbmV0c2VjdXJpdHku
Y29tMQswCQYDVQQGEwJVSzAgFw0yNDAyMjcxMjE1NTVaGA8yMDc0MDIyNzEyMTU1
NVowgaoxKjAoBgkqhkiG9w0BCQEWG3N1cHBvcnRAZGVlcG5ldHNlY3VyaXR5LmNv
bTENMAsGA1UECwwERklETzEZMBcGA1UECgwQRGVlcG5ldCBTZWN1cml0eTEQMA4G
A1UEBwwHRW5nbGlzaDEQMA4GA1UECAwHRW5nbGFuZDEhMB8GA1UEAwwYZmlkby5k
ZWVwbmV0c2VjdXJpdHkuY29tMQswCQYDVQQGEwJVSzBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABKjXbN2q0MkVslo6SzI8g79dw20/3++QRlrQhM3huppZ5i5ElSFi
ywzWhpig81Aq0SIu2KmlTYpt86mLL+dAZ5GjUDBOMB0GA1UdDgQWBBS0GCwNMi6v
WaJlBry+gOnhYsrtoDAfBgNVHSMEGDAWgBS0GCwNMi6vWaJlBry+gOnhYsrtoDAM
BgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIGZcmqmChXi1hL9dZ2Xr6NKO
3hyfNBl75Z2Mixs9XTq/AiB77595vGu0Qq9H9AC7bUXp4Pm3SLHuk+kBY5nvwMTn
yA==
-----END CERTIFICATE-----
@@ -0,0 +1,20 @@
Deepnet SafeKey/Classic (USB)
-----------------------------
-----BEGIN CERTIFICATE-----
MIICnTCCAkSgAwIBAgIIcaDauTR6AI4wCgYIKoZIzj0EAwIwgaoxKjAoBgkqhkiG
9w0BCQEWG3N1cHBvcnRAZGVlcG5ldHNlY3VyaXR5LmNvbTENMAsGA1UECwwERklE
TzEZMBcGA1UECgwQRGVlcG5ldCBTZWN1cml0eTEQMA4GA1UEBwwHRW5nbGlzaDEQ
MA4GA1UECAwHRW5nbGFuZDEhMB8GA1UEAwwYZmlkby5kZWVwbmV0c2VjdXJpdHku
Y29tMQswCQYDVQQGEwJVSzAgFw0yNDAyMjcxMjE1NTVaGA8yMDc0MDIyNzEyMTU1
NVowgaoxKjAoBgkqhkiG9w0BCQEWG3N1cHBvcnRAZGVlcG5ldHNlY3VyaXR5LmNv
bTENMAsGA1UECwwERklETzEZMBcGA1UECgwQRGVlcG5ldCBTZWN1cml0eTEQMA4G
A1UEBwwHRW5nbGlzaDEQMA4GA1UECAwHRW5nbGFuZDEhMB8GA1UEAwwYZmlkby5k
ZWVwbmV0c2VjdXJpdHkuY29tMQswCQYDVQQGEwJVSzBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABKjXbN2q0MkVslo6SzI8g79dw20/3++QRlrQhM3huppZ5i5ElSFi
ywzWhpig81Aq0SIu2KmlTYpt86mLL+dAZ5GjUDBOMB0GA1UdDgQWBBS0GCwNMi6v
WaJlBry+gOnhYsrtoDAfBgNVHSMEGDAWgBS0GCwNMi6vWaJlBry+gOnhYsrtoDAM
BgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIGZcmqmChXi1hL9dZ2Xr6NKO
3hyfNBl75Z2Mixs9XTq/AiB77595vGu0Qq9H9AC7bUXp4Pm3SLHuk+kBY5nvwMTn
yA==
-----END CERTIFICATE-----
@@ -0,0 +1,13 @@
Egis U2F BLE Authenticator
--------------------------
-----BEGIN CERTIFICATE-----
MIIBbDCCARGgAwIBAgIBATAKBggqhkjOPQQDAjAdMRswGQYDVQQDExJFZ2lzdGVj
IENBIGZvciBVMkYwHhcNMTYwMjI2MDgxMTA2WhcNMTkwMjI1MDgxMTA2WjAdMRsw
GQYDVQQDExJFZ2lzdGVjIENBIGZvciBVMkYwWTATBgcqhkjOPQIBBggqhkjOPQMB
BwNCAARP3AE6Vs5tFBCIMexmdXiRFc8QcyTrc6nl1fEoBKwMdBMtjf/vzPjrrAit
k5Q2OjO9YNy26Ci4TMIYIwr8YBQoo0IwQDAdBgNVHQ4EFgQUyImr0BYnuY0vfBzZ
1dFtLQJi9pYwHwYDVR0jBBgwFoAUMuriP/C1iFg4vqBG15k4vHhOs3gwCgYIKoZI
zj0EAwIDSQAwRgIhAJQMO6n6PI9EPYx6MjusIFo7GPB1Y8Ypz+UBmUj6CUl2AiEA
h0E2mpaTVTRp1paWUlHvnYGBu3S04Hrd37OR0lXoXR0=
-----END CERTIFICATE-----
@@ -0,0 +1,19 @@
Egomet FIDO2 Authenticator for Android
--------------------------------------
-----BEGIN CERTIFICATE-----
MIICmzCCAkGgAwIBAgIJAKBEwSd0OFXMMAoGCCqGSM49BAMCMIGhMQswCQYDVQQG
EwJJVDEOMAwGA1UECAwFSVRBTFkxDTALBgNVBAcMBFJPTUUxFDASBgNVBAoMC01v
dmVuZGEgU1BBMSYwJAYDVQQDDB1NT1ZFTkRBIEZJRE8gUm9vdCBDZXJ0aWZpY2F0
ZTEnMCUGCSqGSIb3DQEJARYYcGlldHJvLmRpdHRhQG1vdmVuZGEuY29tMQwwCgYD
VQQLDANSJkQwHhcNMjAwMTE2MDk1NjIyWhcNNDAwMTExMDk1NjIyWjCBoTELMAkG
A1UEBhMCSVQxDjAMBgNVBAgMBUlUQUxZMQ0wCwYDVQQHDARST01FMRQwEgYDVQQK
DAtNb3ZlbmRhIFNQQTEmMCQGA1UEAwwdTU9WRU5EQSBGSURPIFJvb3QgQ2VydGlm
aWNhdGUxJzAlBgkqhkiG9w0BCQEWGHBpZXRyby5kaXR0YUBtb3ZlbmRhLmNvbTEM
MAoGA1UECwwDUiZEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECWep8WbAvOJ3
lTBzi87f/CoY5X0HT03Ib2O1ZYj3ffNBjgTqWsOb6MIR4w7Km5kVXD58dGyh95yw
IDDRLQgc4KNgMF4wHQYDVR0OBBYEFOYNPxJUmM8vqeqM4pd0Sfu3M9NNMB8GA1Ud
IwQYMBaAFOYNPxJUmM8vqeqM4pd0Sfu3M9NNMA8GA1UdEwEB/wQFMAMBAf8wCwYD
VR0PBAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIAlqgNfxzAPmID4sQwoOat4NCdLf
gZfT+jSKmXvYvDTuAiEA++lScAgEAD1Mec1Qhoge4yasp0F2fMYcNyxoK9roGUY=
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
ellipticSecure MIRkey USB Authenticator
---------------------------------------
-----BEGIN CERTIFICATE-----
MIICYTCCAeegAwIBAgIBATAKBggqhkjOPQQDAjBpMSQwIgYDVQQDDBtlbGxpcHRp
Y1NlY3VyZSBGSURPIFJvb3QgQ0ExGzAZBgNVBAsMEmVsbGlwdGljc2VjdXJlLmNv
bTEXMBUGA1UECgwOZWxsaXB0aWNTZWN1cmUxCzAJBgNVBAYTAlVTMB4XDTE5MDQw
NjEzMzEyNFoXDTM0MDQwNjEzMzEyNFowaTEkMCIGA1UEAwwbZWxsaXB0aWNTZWN1
cmUgRklETyBSb290IENBMRswGQYDVQQLDBJlbGxpcHRpY3NlY3VyZS5jb20xFzAV
BgNVBAoMDmVsbGlwdGljU2VjdXJlMQswCQYDVQQGEwJVUzB2MBAGByqGSM49AgEG
BSuBBAAiA2IABIcioLldLnxvSp//GaJ0sq7hM92PQ4zW7CPlZlUm2syippwb/WXP
wPROTdmQf2GDbg5UAA2IYpNZppUeq1vgnWvLmuJ7+u+KWBK23dz1S6SYOPtk5vHf
GompC7IKi8MujKNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w
HQYDVR0OBBYEFCFR6t9+i/f6D9meogOLYpUlbqazMB8GA1UdIwQYMBaAFCFR6t9+
i/f6D9meogOLYpUlbqazMAoGCCqGSM49BAMCA2gAMGUCMQD2KZdzs66h1kCEGqmF
Vr0Ue3jaN/BwffYuX4Km+YTDiU7jKEZdxzjArwFSmtiAIzACMENeLKDaAbOFIviq
Y5Kt2cXQkWzTgr134VlA8hUBPGE6KHg6giJaHgPZLSY6AFWH2A==
-----END CERTIFICATE-----
@@ -0,0 +1,22 @@
Ensurity AUTH BioPro
--------------------
-----BEGIN CERTIFICATE-----
MIIDCTCCAfGgAwIBAgIJALKKj0sKTXDlMA0GCSqGSIb3DQEBCwUAMCExHzAdBgNV
BAMMFkVuc3VyaXR5IFRoaW5DIFJvb3QgQ0EwIBcNMTgwNzIzMTMzNzIxWhgPMjA2
ODA3MTAxMzM3MjFaMCExHzAdBgNVBAMMFkVuc3VyaXR5IFRoaW5DIFJvb3QgQ0Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEiZh4tIcAUPfUkCmXbNwW
DIFvWxxGPhJq//Fs3uPBA4JQUXiAHWUof0mNxfU39yfK39/2yXgOJ5QoZGzpQEGS
w5Snoy0+61oeI+0IXkAaMvfVvtmNoO2OJO5+ADtlDu6rgJuV6IpLLR5SKXOU1zOP
HYrAPsYxv3ULg26W63zMTqpCNCg4pzwZRyXjcLrUeCzF4Xcf+p/G42ZdGzBeZc4z
+yccOMxBx4wsGcPg1HFyzXl3Jmtyg7zUDEqbjeH8Nsy9+kT31mVXocigB3hG7wct
iIn6A5lPGMPJoI84RZdrB3es9QlHZWSnvdJGeaLnO5Xq4mIhufbY4s1Uq/pvGsAP
AgMBAAGjQjBAMB0GA1UdDgQWBBSOEn+VFhI/ZGUTSUehEyOlxxFxLzASBgNVHRMB
Af8ECDAGAQH/AgEAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAraDo
8umrejXNYQ6BRBn4XsDehDlij3LANM7J7timaNMfoxadwyS1nvA8e7cO7OAw3iel
YjO6oiSpzUsu6eH2loZ0LK0fkoiaZZnHKb/46o6o9947i8tuAOyoVrGPw9c29VoI
QkE3Qj/0PJZmU0YubilRUNx6ldK25a0o/q8lk7BL32NjWdTzKDJPgdKmrwl1m3K2
eGmv2ZIgAP4pWUmg0DF4XS/JankFibRZhs6Kg0V02E9PcbGyXIo+hxU9QsjjgIPt
FiF8+VvQbPTVeM1Zc0CxPm1Xx22ki3IePpaDigzS0Kfxk5RnFtqY/ZOyVtam/oAP
9tq/MTjEQu1flrppRQ==
-----END CERTIFICATE-----
@@ -0,0 +1,22 @@
Ensurity AUTH BioPro Desktop
----------------------------
-----BEGIN CERTIFICATE-----
MIIDCTCCAfGgAwIBAgIJALKKj0sKTXDlMA0GCSqGSIb3DQEBCwUAMCExHzAdBgNV
BAMMFkVuc3VyaXR5IFRoaW5DIFJvb3QgQ0EwIBcNMTgwNzIzMTMzNzIxWhgPMjA2
ODA3MTAxMzM3MjFaMCExHzAdBgNVBAMMFkVuc3VyaXR5IFRoaW5DIFJvb3QgQ0Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEiZh4tIcAUPfUkCmXbNwW
DIFvWxxGPhJq//Fs3uPBA4JQUXiAHWUof0mNxfU39yfK39/2yXgOJ5QoZGzpQEGS
w5Snoy0+61oeI+0IXkAaMvfVvtmNoO2OJO5+ADtlDu6rgJuV6IpLLR5SKXOU1zOP
HYrAPsYxv3ULg26W63zMTqpCNCg4pzwZRyXjcLrUeCzF4Xcf+p/G42ZdGzBeZc4z
+yccOMxBx4wsGcPg1HFyzXl3Jmtyg7zUDEqbjeH8Nsy9+kT31mVXocigB3hG7wct
iIn6A5lPGMPJoI84RZdrB3es9QlHZWSnvdJGeaLnO5Xq4mIhufbY4s1Uq/pvGsAP
AgMBAAGjQjBAMB0GA1UdDgQWBBSOEn+VFhI/ZGUTSUehEyOlxxFxLzASBgNVHRMB
Af8ECDAGAQH/AgEAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAraDo
8umrejXNYQ6BRBn4XsDehDlij3LANM7J7timaNMfoxadwyS1nvA8e7cO7OAw3iel
YjO6oiSpzUsu6eH2loZ0LK0fkoiaZZnHKb/46o6o9947i8tuAOyoVrGPw9c29VoI
QkE3Qj/0PJZmU0YubilRUNx6ldK25a0o/q8lk7BL32NjWdTzKDJPgdKmrwl1m3K2
eGmv2ZIgAP4pWUmg0DF4XS/JankFibRZhs6Kg0V02E9PcbGyXIo+hxU9QsjjgIPt
FiF8+VvQbPTVeM1Zc0CxPm1Xx22ki3IePpaDigzS0Kfxk5RnFtqY/ZOyVtam/oAP
9tq/MTjEQu1flrppRQ==
-----END CERTIFICATE-----
@@ -0,0 +1,22 @@
Ensurity AUTH TouchPro
----------------------
-----BEGIN CERTIFICATE-----
MIIDCTCCAfGgAwIBAgIJALKKj0sKTXDlMA0GCSqGSIb3DQEBCwUAMCExHzAdBgNV
BAMMFkVuc3VyaXR5IFRoaW5DIFJvb3QgQ0EwIBcNMTgwNzIzMTMzNzIxWhgPMjA2
ODA3MTAxMzM3MjFaMCExHzAdBgNVBAMMFkVuc3VyaXR5IFRoaW5DIFJvb3QgQ0Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEiZh4tIcAUPfUkCmXbNwW
DIFvWxxGPhJq//Fs3uPBA4JQUXiAHWUof0mNxfU39yfK39/2yXgOJ5QoZGzpQEGS
w5Snoy0+61oeI+0IXkAaMvfVvtmNoO2OJO5+ADtlDu6rgJuV6IpLLR5SKXOU1zOP
HYrAPsYxv3ULg26W63zMTqpCNCg4pzwZRyXjcLrUeCzF4Xcf+p/G42ZdGzBeZc4z
+yccOMxBx4wsGcPg1HFyzXl3Jmtyg7zUDEqbjeH8Nsy9+kT31mVXocigB3hG7wct
iIn6A5lPGMPJoI84RZdrB3es9QlHZWSnvdJGeaLnO5Xq4mIhufbY4s1Uq/pvGsAP
AgMBAAGjQjBAMB0GA1UdDgQWBBSOEn+VFhI/ZGUTSUehEyOlxxFxLzASBgNVHRMB
Af8ECDAGAQH/AgEAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAraDo
8umrejXNYQ6BRBn4XsDehDlij3LANM7J7timaNMfoxadwyS1nvA8e7cO7OAw3iel
YjO6oiSpzUsu6eH2loZ0LK0fkoiaZZnHKb/46o6o9947i8tuAOyoVrGPw9c29VoI
QkE3Qj/0PJZmU0YubilRUNx6ldK25a0o/q8lk7BL32NjWdTzKDJPgdKmrwl1m3K2
eGmv2ZIgAP4pWUmg0DF4XS/JankFibRZhs6Kg0V02E9PcbGyXIo+hxU9QsjjgIPt
FiF8+VvQbPTVeM1Zc0CxPm1Xx22ki3IePpaDigzS0Kfxk5RnFtqY/ZOyVtam/oAP
9tq/MTjEQu1flrppRQ==
-----END CERTIFICATE-----
@@ -0,0 +1,22 @@
Ensurity ThinC
--------------
-----BEGIN CERTIFICATE-----
MIIDCTCCAfGgAwIBAgIJALKKj0sKTXDlMA0GCSqGSIb3DQEBCwUAMCExHzAdBgNV
BAMMFkVuc3VyaXR5IFRoaW5DIFJvb3QgQ0EwIBcNMTgwNzIzMTMzNzIxWhgPMjA2
ODA3MTAxMzM3MjFaMCExHzAdBgNVBAMMFkVuc3VyaXR5IFRoaW5DIFJvb3QgQ0Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEiZh4tIcAUPfUkCmXbNwW
DIFvWxxGPhJq//Fs3uPBA4JQUXiAHWUof0mNxfU39yfK39/2yXgOJ5QoZGzpQEGS
w5Snoy0+61oeI+0IXkAaMvfVvtmNoO2OJO5+ADtlDu6rgJuV6IpLLR5SKXOU1zOP
HYrAPsYxv3ULg26W63zMTqpCNCg4pzwZRyXjcLrUeCzF4Xcf+p/G42ZdGzBeZc4z
+yccOMxBx4wsGcPg1HFyzXl3Jmtyg7zUDEqbjeH8Nsy9+kT31mVXocigB3hG7wct
iIn6A5lPGMPJoI84RZdrB3es9QlHZWSnvdJGeaLnO5Xq4mIhufbY4s1Uq/pvGsAP
AgMBAAGjQjBAMB0GA1UdDgQWBBSOEn+VFhI/ZGUTSUehEyOlxxFxLzASBgNVHRMB
Af8ECDAGAQH/AgEAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAraDo
8umrejXNYQ6BRBn4XsDehDlij3LANM7J7timaNMfoxadwyS1nvA8e7cO7OAw3iel
YjO6oiSpzUsu6eH2loZ0LK0fkoiaZZnHKb/46o6o9947i8tuAOyoVrGPw9c29VoI
QkE3Qj/0PJZmU0YubilRUNx6ldK25a0o/q8lk7BL32NjWdTzKDJPgdKmrwl1m3K2
eGmv2ZIgAP4pWUmg0DF4XS/JankFibRZhs6Kg0V02E9PcbGyXIo+hxU9QsjjgIPt
FiF8+VvQbPTVeM1Zc0CxPm1Xx22ki3IePpaDigzS0Kfxk5RnFtqY/ZOyVtam/oAP
9tq/MTjEQu1flrppRQ==
-----END CERTIFICATE-----
@@ -0,0 +1,276 @@
ESS Smart Card Inc. Authenticator
---------------------------------
-----BEGIN CERTIFICATE-----
MIISMDCCEBigAwIBAgIWAKoAAAAAAAAAAAAAAAAAAAAAAAAAADANBgkqhkiG9w0B
AQsFADCCAjUxEzARBgsrBgEEAYI3PAIBAwwCQ0ExGDAWBgsrBgEEAYI3PAIBAgwH
UXXDqWJlYzEbMBkGCysGAQQBgjc8AgEBDApUZXJyZWJvbm5lMTEwLwYDVQQPDChT
w6ljdXJpdMOpIEluZm9ybWF0aXF1ZSAvIEN5YmVyIFNlY3VyaXR5MTswOQYDVQQF
DDJORVEgMTE3MzQ4ODY0NSAvIENOIDEwNjQ3NzMtMCAvIEJOIDc2NzM0OTY4MVJD
MDAwMTEqMCgGCSqGSIb3DQEJARYbaW5mb2NhQHNtYXJ0Y2FyZHNlY3VyaXR5LmNh
MRowGAYDVQQXDBErMSAoNDUwKSA5NjQtNDUxMTEaMBgGA1UEFAwRKzEgKDQ1MCkg
OTY0LTc3NzYxEDAOBgNVBBEMB0o2VyAwQTIxCzAJBgNVBAYTAkNBMRAwDgYDVQQI
DAdRdcOpYmVjMRMwEQYDVQQHDApUZXJyZWJvbm5lMRowGAYDVQQJDBExMTc5IGRl
IGwnZXhwcmVzczEyMDAGA1UECwwpQXV0b3JpdMOpIGRlIFBvbGl0aXF1ZSAvIFBv
bGljeSBBdXRob3JpdHkxNTAzBgNVBAoMLFNTRSBDYXJ0ZSDDoCBQdWNlIEluYy4g
LyBFU1MgU21hcnQgQ2FyZCBJbmMuMUYwRAYDVQQDDD1TQ1AgQXV0b3JpdMOpIGRl
IFBvbGl0aXF1ZSAvIFNDUyBDZXJ0aWZpY2F0ZSBQb2xpY3kgQXV0aG9yaXR5MB4X
DTE4MDUzMDE1MzE1N1oXDTM4MDUzMDE1MzE1N1owggImMRMwEQYLKwYBBAGCNzwC
AQMMAkNBMRgwFgYLKwYBBAGCNzwCAQIMB1F1w6liZWMxGzAZBgsrBgEEAYI3PAIB
AQwKVGVycmVib25uZTExMC8GA1UEDwwoU8OpY3VyaXTDqSBJbmZvcm1hdGlxdWUg
LyBDeWJlciBTZWN1cml0eTE7MDkGA1UEBQwyTkVRIDExNzM0ODg2NDUgLyBDTiAx
MDY0NzczLTAgLyBCTiA3NjczNDk2ODFSQzAwMDExKjAoBgkqhkiG9w0BCQEWG2lu
Zm9jYUBzbWFydGNhcmRzZWN1cml0eS5jYTEaMBgGA1UEFwwRKzEgKDQ1MCkgOTY0
LTQ1MTExGjAYBgNVBBQMESsxICg0NTApIDk2NC03Nzc2MRAwDgYDVQQRDAdKNlcg
MEEyMQswCQYDVQQGEwJDQTEQMA4GA1UECAwHUXXDqWJlYzETMBEGA1UEBwwKVGVy
cmVib25uZTEaMBgGA1UECQwRMTE3OSBkZSBsJ2V4cHJlc3MxMTAvBgNVBAsMKFZh
bGlkYXRpb24gw4l0ZW5kdSAvIEV4dGVuZGVkIFZhbGlkYXRpb24xNTAzBgNVBAoM
LFNTRSBDYXJ0ZSDDoCBQdWNlIEluYy4gLyBFU1MgU21hcnQgQ2FyZCBJbmMuMTgw
NgYDVQQDDC9TQ1AgVmFsaWRhdGlvbiBFdGVuZHUgLyBTQ1MgRXh0ZW5kZWQgVmFs
aWRhdGlvbjCCAiAwDQYJKoZIhvcNAQEBBQADggINADCCAggCggIBALSCYvHxa6hw
aCisSpqzS9eYdcZ8hzWrz+L7UVWmpv2FN7iy28E5wVfqrD9y2Y/l9LkQwoSJe2x2
oCIUp6k3PKhH4OZxhB2X568luIxPg68UKvAeYszfhFWm2EFSeh31v8sqo9WeBzb0
Reszm86RjJLFcCCkaaVUV8pDFC0+1dGClKbQXr/djA4VvItXNzvOUnMi5U1lUHl4
E/FiZpce8p7o7DbNx4wiEo8lkO45JFLbfIo7Rt+l8a04IV+sMIkbeYMPW8qtLLRh
iX56smpTwkfJTlidT9DGZoXnYCnQL2WwsWBssdiibyJJQX/fTIbG764VjjfK7eo8
AJIsgGJoKKf1p+J/dEyZXQLfKkVj6bE+gGg6QA7kZRzIFnG+NR5JsYqqJ2SP29yR
S/EPqqPcakFcOyh6wt/prEGkcGKdB7TX16V9jaDYdvZr/5HQmbRVtaY8YbHAAkEu
w5AE8xVlr/vvdxzB8sJ41caPkL0Jq2XXI49vyEew61hWVSZgWPiyTkY7Xz4372en
O1+R6OfpIN8ymtUzN0P9lfV20mRhIVQE59d6ubgSfOLL7yASky6Cu/diQQaAuluj
QGY8voDPyrOkKmk+72oy+Yriq7iKUstZrgp//22h8Ioa8GaXN4L5+7OhcL+SxccP
lm+iITYBkn0MTGU8GPzeTvTMaJTTjWWjAgElo4IJQTCCCT0wHQYDVR0OBBYEFMpZ
PXVGNQyjPWzMWTtfvzbPIG5xMB8GA1UdIwQYMBaAFNpyPmiDNAdqAZHSpa8+HE2i
4f5OMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHGMIICmAYDVR0lBIICjzCC
AosGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwQGCisGAQQBgjcKAwQGCisG
AQQBgjdDAQEGCisGAQQBgjdDAQIGCSsGAQQBgjdQAQYIKwYBBQUHAwMGCisGAQQB
gjc9AQEGCisGAQQBgjcKAw0GCisGAQQBgjcUAgEGCCsGAQUFBwMHBggrBgEFBQcD
BgYIKwYBBQUIAgIGBysGAQUCAwUGBysGAQUCAwQGCSsGAQQBgjcVEwYKKwYBBAGC
NwoDDAYIKwYBBQUHAwkGB2B8hvdoAgQGB2B8hvdoAgUGB2B8hvdoAgcGB2B8hvdo
AggGB2B8hvdoAgkGB2B8hvdoAgoGB2B8hvdoAgsGB2B8hvdoAgwGB2B8hvdoAg0G
B2B8hvdoAg4GB2B8hvdoAg8GB2B8hvdoAhAGB2B8hvdoAhEGB2B8hvdoAhIGB2B8
hvdoAhMGB2B8hvdoAhQGB2B8hvdoAhUGB2B8hvdoAhYGB2B8hvdoAhcGB2B8hvdo
AhgGB2B8hvdoAhkGB2B8hvdoAhoGB2B8hvdoBQEGCGB8hvdoBQEBBghgfIb3aAUB
AgYIYHyG92gFAQMGCGB8hvdoBQEEBghgfIb3aAUBBQYIYHyG92gFAQYGCGB8hvdo
BQEHBghgfIb3aAUBCAYIYHyG92gFAQkGCGB8hvdoBQEKBghgfIb3aAUBCwYIYHyG
92gFAQwGCGB8hvdoBQENBghgfIb3aAUBDgYIYHyG92gFAQ8GCGB8hvdoBQEQBghg
fIb3aAUBEQYIYHyG92gFARIGCGB8hvdoBQETBghgfIb3aAUBFAYIYHyG92gFARUG
CGB8hvdoBQEWBghgfIb3aAUBFwYIYHyG92gFARgwOgYDVR0fBDMwMTAvoC2gK4Yp
aHR0cDovL2NhLnNtYXJ0Y2FyZHNlY3VyaXR5LmNhL3BvbHNjcy5jcmwwdQYIKwYB
BQUHAQEEaTBnMCwGCCsGAQUFBzABhiBodHRwOi8vb2NzcC5zbWFydGNhcmRzZWN1
cml0eS5jYTA3BggrBgEFBQcwAoYraHR0cDovL2NhLnNtYXJ0Y2FyZHNlY3VyaXR5
LmNhL1BvbFNjc0NhLmNydDAqBgNVHREEIzAhhh9odHRwOi8vZXYuc21hcnRjYXJk
c2VjdXJpdHkuY2EvMIIFYAYDVR0gBIIFVzCCBVMwQgYHYHyG92gBAzA3MDUGCCsG
AQUFBwIBFilodHRwczovL2NhLnNtYXJ0Y2FyZHNlY3VyaXR5LmNhL2Nwcy9zY3Nl
djAKBghgfIb3aAEDATALBglgfIb3aAEDAQEwCwYJYHyG92gBAwECMAsGCWB8hvdo
AQMBAzALBglgfIb3aAEDAQQwCwYJYHyG92gBAwEFMAsGCWB8hvdoAQMBBjALBglg
fIb3aAEDAQcwCwYJYHyG92gBAwEIMAsGCWB8hvdoAQMBCTALBglgfIb3aAEDAQow
CwYJYHyG92gBAwELMAsGCWB8hvdoAQMBDDALBglgfIb3aAEDAQ0wCwYJYHyG92gB
AwEOMAsGCWB8hvdoAQMBDzALBglgfIb3aAEDARAwCwYJYHyG92gBAwERMAsGCWB8
hvdoAQMBEjAKBghgfIb3aAEDAjALBglgfIb3aAEDAgEwCwYJYHyG92gBAwICMAsG
CWB8hvdoAQMCAzALBglgfIb3aAEDAgQwCwYJYHyG92gBAwIFMAsGCWB8hvdoAQMC
BjALBglgfIb3aAEDAgcwCwYJYHyG92gBAwIIMAsGCWB8hvdoAQMCCTALBglgfIb3
aAEDAgowCwYJYHyG92gBAwILMAsGCWB8hvdoAQMCDDALBglgfIb3aAEDAg0wCQYH
YHyG92gBBTAKBghgfIb3aAEFATAKBghgfIb3aAEFAjAKBghgfIb3aAEFAzAKBghg
fIb3aAEFBDAKBghgfIb3aAEFBTAKBghgfIb3aAEFBjAKBghgfIb3aAEFBzAKBghg
fIb3aAEFCDAKBghgfIb3aAEFCTAKBghgfIb3aAEFCjAKBghgfIb3aAEFCzAKBghg
fIb3aAEFDDAKBghgfIb3aAEFDTAKBghgfIb3aAEFDjAKBghgfIb3aAEFDzAKBghg
fIb3aAEFEDAKBghgfIb3aAEFETAKBghgfIb3aAEFEjAKBghgfIb3aAEFEzAKBghg
fIb3aAEFFDAKBghgfIb3aAEFFTAKBghgfIb3aAEFFjAKBghgfIb3aAEFFzAKBghg
fIb3aAEFGDAKBghgfIb3aAEFGTAKBghgfIb3aAEFGjAKBghgfIb3aAEFGzAKBghg
fIb3aAEFHDAKBghgfIb3aAEFHTAKBghgfIb3aAEFHjAJBgdgfIb3aAECMAoGCGB8
hvdoAQIBMAoGCGB8hvdoAQICMAoGCGB8hvdoAQIDMAoGCGB8hvdoAQIEMAoGCGB8
hvdoAQIFMAoGCGB8hvdoAQIGMAoGCGB8hvdoAQIHMAoGCGB8hvdoAQIIMAoGCGB8
hvdoAQIJMAoGCGB8hvdoAQIKMAoGCGB8hvdoAQILMAoGCGB8hvdoAQIMMAoGCGB8
hvdoAQINMAoGCGB8hvdoAQIOMAoGCGB8hvdoAQIPMAoGCGB8hvdoAQIQMAoGCGB8
hvdoAQIRMAoGCGB8hvdoAQISMAoGCGB8hvdoAQITMAoGCGB8hvdoAQIUMAoGCGB8
hvdoAQIVMAoGCGB8hvdoAQIWMAoGCGB8hvdoAQIXMAoGCGB8hvdoAQIYMAoGCGB8
hvdoAQIZMAoGCGB8hvdoAQIaMAoGCGB8hvdoAQIbMAoGCGB8hvdoAQIcMAoGCGB8
hvdoAQIdMAoGCGB8hvdoAQIeMAoGCGB8hvdoAQIfMAoGCGB8hvdoAQIgMAoGCGB8
hvdoAQIhMAoGCGB8hvdoAQIiMAoGCGB8hvdoAQIjMAcGBWeBDAEBMAcGBWeBDAEC
MAgGBmeBDAECATAIBgZngQwBAgIwCAYGZ4EMAQIDMAcGBWeBDAEDMAcGBWeBDAEf
MA0GCSqGSIb3DQEBCwUAA4ICAQCB6H86IyV7kTGdZh/nui8wwGcDXTUTrAsucO3r
0Cknu4r1pzaKNKmy63Ev3Pvg0vPEwfmNAAQVdSbgGtN0L+FZZKBKAdDVa0IvKiR/
99mtvrIsjRXmYuGgRTimSeas3hnGi87kGNi3xYQU+lzZTHYkG16Au4tVa2fc55Kq
XO2QB6J5UVOB5k37jpfLVtH05XIrY6ik6S8N6So0RoNdRfiHnvFIIWvoGkxPOMqJ
Psvdlp+/+sQvece8+7PKC+WACB2/bPZGL3BtQJlhPb5gmt5HyJ6h4a1ya2+bVfvH
jM6R6khYhvIaNfmckPy7vKC9J6lMEqdD79Wddfv9jRbkrcI5lvzPDBXWWU1wYh2B
yfy5AMutX8/isHdtbJCbV0QjOrYWgY0pakj90dRT5Au3u+oArm1fewiAnu7O9HWh
xZdjL5pZen9+rEw88c6qCCd6bjR3+Vpsau+DlYxcerEO26eZoPSQN/JfM6s6AXkL
OGLvLqjzfc/9o16wVbQLVoaw37lWqk+ynywQkq8NdyOCet7xbl9KLs8x6z30ulru
9zJGS+myGMrKDtfmCtoz/iwNdJuasNGTi+l8wVp88nmF8GYA8LUwtmOKka5VqK8Y
ZKzo1voF+rD8GMQatNIN8vx8J0cfNTUmhvCD+uxeVmcKvHpq3COptU6pU7ubleDn
yLfD9w==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIVrjCCE5agAwIBAgIWAMoAAAAAAAAAAAAAAAAAAAAAAAAAATANBgkqhkiG9w0B
AQsFADCCAjAxOzA5BgNVBAUMMk5FUSAxMTczNDg4NjQ1IC8gQ04gMTA2NDc3My0w
IC8gQk4gNzY3MzQ5NjgxUkMwMDAxMRMwEQYLKwYBBAGCNzwCAQMMAkNBMRgwFgYL
KwYBBAGCNzwCAQIMB1F1w6liZWMxGzAZBgsrBgEEAYI3PAIBAQwKVGVycmVib25u
ZTExMC8GA1UEDwwoU8OpY3VyaXTDqSBJbmZvcm1hdGlxdWUgLyBDeWJlciBTZWN1
cml0eTEqMCgGCSqGSIb3DQEJARYbaW5mb2NhQHNtYXJ0Y2FyZHNlY3VyaXR5LmNh
MRowGAYDVQQXDBErMSAoNDUwKSA5NjQtNDUxMTEaMBgGA1UEFAwRKzEgKDQ1MCkg
OTY0LTc3NzYxEDAOBgNVBBEMB0o2VyAwQTIxCzAJBgNVBAYTAkNBMRAwDgYDVQQI
DAdRdcOpYmVjMRMwEQYDVQQHDApUZXJyZWJvbm5lMRowGAYDVQQJDBExMTc5IGRl
IGwnZXhwcmVzczErMCkGA1UECwwiQXV0aG9yaXTDqSBSYWNpbmUgLyBSb290IEF1
dGhvcml0eTE1MDMGA1UECgwsU1NFIENhcnRlIMOgIFB1Y2UgSW5jLiAvIEVTUyBT
bWFydCBDYXJkIEluYy4xSDBGBgNVBAMMP1NlY3VyaXTDqSBDYXJ0ZSDDoCBQdWNl
IChTQ1ApIEFDIC8gU21hcnQgQ2FyZCBTZWN1cml0eSAoU0NTKSBDQTAeFw0xODA1
MzAxNTE5MDRaFw00ODA1MjgxNTE5MDRaMIICNTETMBEGCysGAQQBgjc8AgEDDAJD
QTEYMBYGCysGAQQBgjc8AgECDAdRdcOpYmVjMRswGQYLKwYBBAGCNzwCAQEMClRl
cnJlYm9ubmUxMTAvBgNVBA8MKFPDqWN1cml0w6kgSW5mb3JtYXRpcXVlIC8gQ3li
ZXIgU2VjdXJpdHkxOzA5BgNVBAUMMk5FUSAxMTczNDg4NjQ1IC8gQ04gMTA2NDc3
My0wIC8gQk4gNzY3MzQ5NjgxUkMwMDAxMSowKAYJKoZIhvcNAQkBFhtpbmZvY2FA
c21hcnRjYXJkc2VjdXJpdHkuY2ExGjAYBgNVBBcMESsxICg0NTApIDk2NC00NTEx
MRowGAYDVQQUDBErMSAoNDUwKSA5NjQtNzc3NjEQMA4GA1UEEQwHSjZXIDBBMjEL
MAkGA1UEBhMCQ0ExEDAOBgNVBAgMB1F1w6liZWMxEzARBgNVBAcMClRlcnJlYm9u
bmUxGjAYBgNVBAkMETExNzkgZGUgbCdleHByZXNzMTIwMAYDVQQLDClBdXRvcml0
w6kgZGUgUG9saXRpcXVlIC8gUG9saWN5IEF1dGhvcml0eTE1MDMGA1UECgwsU1NF
IENhcnRlIMOgIFB1Y2UgSW5jLiAvIEVTUyBTbWFydCBDYXJkIEluYy4xRjBEBgNV
BAMMPVNDUCBBdXRvcml0w6kgZGUgUG9saXRpcXVlIC8gU0NTIENlcnRpZmljYXRl
IFBvbGljeSBBdXRob3JpdHkwggIgMA0GCSqGSIb3DQEBAQUAA4ICDQAwggIIAoIC
AQDa2AypUsDm6zvgKsoOrru4WeAnOXShwI1T0TiQZsvJ90uwV5MDWcaMf0DZyl2O
KiN+LmzPICbXw4TCrJphJXndyPF09E3H1QC2pGN71BNpxoDeBqkX1YIW4PHhY9qh
jRKgplbJTKcHfQA1CjVTzX5raAmnLAJ8iuo7HV7ZbplFg7V3cWOJbc3p5FFixeSI
5xACLsJQIAitNP30Fhpx4bxxCY9o1ZQO/HU33z7ZbCu1Qw0iaXYIr0VWGu5eCzsg
zl56bwDuPP7Nf18mJEaV039eWu49SjdX6hYkQFT+wQBYUxOPUo8h7xxXGZbwMnTM
UyQwW6uybUB8GwtjMIVoDT9Y688SH3fd7qDoYuuThw9DcHFjhZHhnmF0zRjQo/FZ
as07mkQ9XIdRjWtWPdqSFWsdj8+bSqd6loHZlsVPpxyCRWLegaWDi6+KSrxguQXg
x3ip85bTdyCICObWa88C8CqGqsUBTnjmyG91FFeFh4eDg2CJXznVdsHSfeKUVGF9
HFWn3x5QoD2+NeVFgHqjOmPIyxBJL5Vt8AVQ0vod923PxaymOlUUkrBhlJXE/V3T
wDKe6N88yjGUftFc7gDvhu8iJkAUD5idTTtcVxr1E0TgdbPaqj3OLsh6WHfZ6ud2
Kb1vqhsQV6X6QxflduW63ygFnbhtwDdLlQsKDDrWB42PxwIBJaOCDLUwggyxMB0G
A1UdDgQWBBTacj5ogzQHagGR0qWvPhxNouH+TjAfBgNVHSMEGDAWgBQkYGoHcyRV
dTs2+nRZk1XJsgAmOjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjA5
BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY2Euc21hcnRjYXJkc2VjdXJpdHkuY2Ev
Y2FzY3MuY3JsMHIGCCsGAQUFBwEBBGYwZDAsBggrBgEFBQcwAYYgaHR0cDovL29j
c3Auc21hcnRjYXJkc2VjdXJpdHkuY2EwNAYIKwYBBQUHMAKGKGh0dHA6Ly9jYS5z
bWFydGNhcmRzZWN1cml0eS5jYS9jYXNjcy5jcnQwKgYDVR0RBCMwIYYfaHR0cDov
L2NhLnNtYXJ0Y2FyZHNlY3VyaXR5LmNhLzCCC3EGA1UdIASCC2gwggtkMDsGBmB8
hvdoATAxMC8GCCsGAQUFBwIBFiNodHRwczovL2NhLnNtYXJ0Y2FyZHNlY3VyaXR5
LmNhL2NwczAIBgZgfIb3aAIwCAYGYHyG92gDMAgGBmB8hvdoBDAIBgZgfIb3aAUw
CAYGYHyG92gGMAgGBmB8hvdoBzAIBgZgfIb3aAgwCAYGYHyG92gJMAgGBmB8hvdo
CjAIBgZgfIb3aAswCAYGYHyG92gMMAgGBmB8hvdoDTAIBgZgfIb3aA4wCAYGYHyG
92gPMAgGBmB8hvdoEDAJBgdgfIb3aAEJMAkGB2B8hvdoAQowCQYHYHyG92gBCzAJ
BgdgfIb3aAEMMAkGB2B8hvdoAQ0wCQYHYHyG92gBDjAJBgdgfIb3aAEPMAkGB2B8
hvdoARAwCQYHYHyG92gBETAJBgdgfIb3aAESMAkGB2B8hvdoAQEwCgYIYHyG92gB
AQEwCgYIYHyG92gBAQIwCgYIYHyG92gBAQMwCgYIYHyG92gBAQQwCgYIYHyG92gB
AQUwCgYIYHyG92gBAQYwCgYIYHyG92gBAQcwCgYIYHyG92gBAQgwCgYIYHyG92gB
AQkwCgYIYHyG92gBAQowCgYIYHyG92gBAQswCgYIYHyG92gBAQwwCgYIYHyG92gB
AQ0wCgYIYHyG92gBAQ4wCgYIYHyG92gBAQ8wCgYIYHyG92gBARAwCgYIYHyG92gB
AREwCgYIYHyG92gBARIwCgYIYHyG92gBARMwCgYIYHyG92gBARQwCgYIYHyG92gB
ARUwCgYIYHyG92gBARYwCQYHYHyG92gBBTAKBghgfIb3aAEFATAKBghgfIb3aAEF
AjAKBghgfIb3aAEFAzAKBghgfIb3aAEFBDAKBghgfIb3aAEFBTAKBghgfIb3aAEF
BjAKBghgfIb3aAEFBzAKBghgfIb3aAEFCDAKBghgfIb3aAEFCTAKBghgfIb3aAEF
CjAKBghgfIb3aAEFCzAKBghgfIb3aAEFDDAKBghgfIb3aAEFDTAKBghgfIb3aAEF
DjAKBghgfIb3aAEFDzAKBghgfIb3aAEFEDAKBghgfIb3aAEFETAKBghgfIb3aAEF
EjAKBghgfIb3aAEFEzAKBghgfIb3aAEFFDAKBghgfIb3aAEFFTAKBghgfIb3aAEF
FjAKBghgfIb3aAEFFzAKBghgfIb3aAEFGDAKBghgfIb3aAEFGTAKBghgfIb3aAEF
GjAKBghgfIb3aAEFGzAKBghgfIb3aAEFHDAKBghgfIb3aAEFHTAKBghgfIb3aAEF
HjAJBgdgfIb3aAECMAoGCGB8hvdoAQIBMAoGCGB8hvdoAQICMAoGCGB8hvdoAQID
MAoGCGB8hvdoAQIEMAoGCGB8hvdoAQIFMAoGCGB8hvdoAQIGMAoGCGB8hvdoAQIH
MAoGCGB8hvdoAQIIMAoGCGB8hvdoAQIJMAoGCGB8hvdoAQIKMAoGCGB8hvdoAQIL
MAoGCGB8hvdoAQIMMAoGCGB8hvdoAQINMAoGCGB8hvdoAQIOMAoGCGB8hvdoAQIP
MAoGCGB8hvdoAQIQMAoGCGB8hvdoAQIRMAoGCGB8hvdoAQISMAoGCGB8hvdoAQIT
MAoGCGB8hvdoAQIUMAoGCGB8hvdoAQIVMAoGCGB8hvdoAQIWMAoGCGB8hvdoAQIX
MAoGCGB8hvdoAQIYMAoGCGB8hvdoAQIZMAoGCGB8hvdoAQIaMAoGCGB8hvdoAQIb
MAoGCGB8hvdoAQIcMAoGCGB8hvdoAQIdMAoGCGB8hvdoAQIeMAoGCGB8hvdoAQIf
MAoGCGB8hvdoAQIgMAoGCGB8hvdoAQIhMAoGCGB8hvdoAQIiMAoGCGB8hvdoAQIj
MAkGB2B8hvdoAQMwCgYIYHyG92gBAwEwCwYJYHyG92gBAwEBMAsGCWB8hvdoAQMB
AjALBglgfIb3aAEDAQMwCwYJYHyG92gBAwEEMAsGCWB8hvdoAQMBBTALBglgfIb3
aAEDAQYwCwYJYHyG92gBAwEHMAsGCWB8hvdoAQMBCDALBglgfIb3aAEDAQkwCwYJ
YHyG92gBAwEKMAsGCWB8hvdoAQMBCzALBglgfIb3aAEDAQwwCwYJYHyG92gBAwEN
MAsGCWB8hvdoAQMBDjALBglgfIb3aAEDAQ8wCwYJYHyG92gBAwEQMAsGCWB8hvdo
AQMBETALBglgfIb3aAEDARIwCgYIYHyG92gBAwIwCwYJYHyG92gBAwIBMAsGCWB8
hvdoAQMCAjALBglgfIb3aAEDAgMwCwYJYHyG92gBAwIEMAsGCWB8hvdoAQMCBTAL
BglgfIb3aAEDAgYwCwYJYHyG92gBAwIHMAsGCWB8hvdoAQMCCDALBglgfIb3aAED
AgkwCwYJYHyG92gBAwIKMAsGCWB8hvdoAQMCCzALBglgfIb3aAEDAgwwCwYJYHyG
92gBAwINMAkGB2B8hvdoAQQwCgYIYHyG92gBBAEwCwYJYHyG92gBBAEBMAsGCWB8
hvdoAQQBAjALBglgfIb3aAEEAQMwCwYJYHyG92gBBAEEMAsGCWB8hvdoAQQBBTAL
BglgfIb3aAEEAQYwCwYJYHyG92gBBAEHMAsGCWB8hvdoAQQBCDALBglgfIb3aAEE
AQkwCwYJYHyG92gBBAEKMAsGCWB8hvdoAQQBCzALBglgfIb3aAEEAQwwCwYJYHyG
92gBBAENMAsGCWB8hvdoAQQBDjALBglgfIb3aAEEAQ8wCwYJYHyG92gBBAEQMAsG
CWB8hvdoAQQBETALBglgfIb3aAEEARIwCwYJYHyG92gBBAETMAoGCGB8hvdoAQQC
MAsGCWB8hvdoAQQCATALBglgfIb3aAEEAgIwCwYJYHyG92gBBAIDMAsGCWB8hvdo
AQQCBDALBglgfIb3aAEEAgUwCwYJYHyG92gBBAIGMAsGCWB8hvdoAQQCBzALBglg
fIb3aAEEAggwCwYJYHyG92gBBAIJMAsGCWB8hvdoAQQCCjALBglgfIb3aAEEAgsw
CwYJYHyG92gBBAIMMAsGCWB8hvdoAQQCDTALBglgfIb3aAEEAg4wCgYIYHyG92gB
BAMwCwYJYHyG92gBBAMBMAsGCWB8hvdoAQQDAjALBglgfIb3aAEEAwMwCwYJYHyG
92gBBAMEMAsGCWB8hvdoAQQDBTALBglgfIb3aAEEAwYwCwYJYHyG92gBBAMHMAsG
CWB8hvdoAQQDCDALBglgfIb3aAEEAwkwCwYJYHyG92gBBAMKMAsGCWB8hvdoAQQD
CzALBglgfIb3aAEEAwwwCwYJYHyG92gBBAMNMAkGB2B8hvdoAQYwCgYIYHyG92gB
BgEwCgYIYHyG92gBBgIwCgYIYHyG92gBBgMwCgYIYHyG92gBBgQwCgYIYHyG92gB
BgUwCgYIYHyG92gBBgYwCgYIYHyG92gBBgcwCQYHYHyG92gBBzAKBghgfIb3aAEH
ATAKBghgfIb3aAEHAjAKBghgfIb3aAEHAzAKBghgfIb3aAEHBDAKBghgfIb3aAEH
BTAKBghgfIb3aAEHBjAKBghgfIb3aAEHBzAKBghgfIb3aAEHCDAKBghgfIb3aAEH
CTAKBghgfIb3aAEHCjAJBgdgfIb3aAEIMAoGCGB8hvdoAQgBMAoGCGB8hvdoAQgC
MAoGCGB8hvdoAQgDMAoGCGB8hvdoAQgEMAoGCGB8hvdoAQgFMAoGCGB8hvdoAQgG
MAoGCGB8hvdoAQgHMAoGCGB8hvdoAQgIMAoGCGB8hvdoAQgJMAoGCGB8hvdoAQgK
MAoGCGB8hvdoAQgLMAcGBWeBDAEBMAcGBWeBDAECMAgGBmeBDAECATAIBgZngQwB
AgIwCAYGZ4EMAQIDMAcGBWeBDAEDMAcGBWeBDAEfMA0GCSqGSIb3DQEBCwUAA4IC
AQBY/7APNH1a2Jfplw1gjIEQ/Lc4XI5pDs02POzpVkCV6nZJZd5XXFboeCzadpZp
SPW/ReeLrRG8kfGUZHWKc8UCUk+XcV9WvK54EfD9yxtaUYheD+tbbPMG+v+xo1yP
HOQPT8U/Q1exJad61RzOpYGBb+vyyl49F2gqE6K6OUs5itPXYbvbbbVD24pbtGFn
UegriKhQfaCmhLczczO0MrUuIB3ZfpzuHYqt/OYmytYcisQXvO6uqHEMmkOTJCWT
k5t/DAxqyw9Gp7TkWWgh6G4pvScTkk1YSdt1pO75tZNxY5kinWmC8xTB2kMoFjcX
0SwiEt4vMcHS25Ku8zgn/FIItFhBS+kH/aLuXwb+v+2T3sfY2EeRAsx1PyfxsFB3
EGHaFsyN8Tw/mdV50Ilzl5WQQ2s+TxO5M8Qz6GYepH0Tsdn8nrquchBr3K8X5Ntc
/uFcGrIm/Ttemk3uN8reGUe7Gg4cfh74ihLIrkwJZGM8yRv5ZwuihP2t7vGXQzVL
Gi1AAs8DFTSIRtQekqv1lnDeeW23wfkU6+vHVCghRK5quyXPhwoHjylBZBANZxAm
2eZHU6MxazA3NBRmiz4i1Bu9xTGUyYYnsUBXEbW92/HYtFxd7uipiPXj9AKmV4Cn
INVwEqLjks1Vdxf+7L4D+FMWOMNMAi4Wmk3mHTNZmV2NAg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIJgzCCB2ugAwIBAgIWAMoAAAAAAAAAAAAAAAAAAAAAAAAAADANBgkqhkiG9w0B
AQsFADCCAjAxOzA5BgNVBAUMMk5FUSAxMTczNDg4NjQ1IC8gQ04gMTA2NDc3My0w
IC8gQk4gNzY3MzQ5NjgxUkMwMDAxMRMwEQYLKwYBBAGCNzwCAQMMAkNBMRgwFgYL
KwYBBAGCNzwCAQIMB1F1w6liZWMxGzAZBgsrBgEEAYI3PAIBAQwKVGVycmVib25u
ZTExMC8GA1UEDwwoU8OpY3VyaXTDqSBJbmZvcm1hdGlxdWUgLyBDeWJlciBTZWN1
cml0eTEqMCgGCSqGSIb3DQEJARYbaW5mb2NhQHNtYXJ0Y2FyZHNlY3VyaXR5LmNh
MRowGAYDVQQXDBErMSAoNDUwKSA5NjQtNDUxMTEaMBgGA1UEFAwRKzEgKDQ1MCkg
OTY0LTc3NzYxEDAOBgNVBBEMB0o2VyAwQTIxCzAJBgNVBAYTAkNBMRAwDgYDVQQI
DAdRdcOpYmVjMRMwEQYDVQQHDApUZXJyZWJvbm5lMRowGAYDVQQJDBExMTc5IGRl
IGwnZXhwcmVzczErMCkGA1UECwwiQXV0aG9yaXTDqSBSYWNpbmUgLyBSb290IEF1
dGhvcml0eTE1MDMGA1UECgwsU1NFIENhcnRlIMOgIFB1Y2UgSW5jLiAvIEVTUyBT
bWFydCBDYXJkIEluYy4xSDBGBgNVBAMMP1NlY3VyaXTDqSBDYXJ0ZSDDoCBQdWNl
IChTQ1ApIEFDIC8gU21hcnQgQ2FyZCBTZWN1cml0eSAoU0NTKSBDQTAeFw0xODA1
MzAxNTE1MzBaFw00ODA1MzAxNTE1MzBaMIICMDE7MDkGA1UEBQwyTkVRIDExNzM0
ODg2NDUgLyBDTiAxMDY0NzczLTAgLyBCTiA3NjczNDk2ODFSQzAwMDExEzARBgsr
BgEEAYI3PAIBAwwCQ0ExGDAWBgsrBgEEAYI3PAIBAgwHUXXDqWJlYzEbMBkGCysG
AQQBgjc8AgEBDApUZXJyZWJvbm5lMTEwLwYDVQQPDChTw6ljdXJpdMOpIEluZm9y
bWF0aXF1ZSAvIEN5YmVyIFNlY3VyaXR5MSowKAYJKoZIhvcNAQkBFhtpbmZvY2FA
c21hcnRjYXJkc2VjdXJpdHkuY2ExGjAYBgNVBBcMESsxICg0NTApIDk2NC00NTEx
MRowGAYDVQQUDBErMSAoNDUwKSA5NjQtNzc3NjEQMA4GA1UEEQwHSjZXIDBBMjEL
MAkGA1UEBhMCQ0ExEDAOBgNVBAgMB1F1w6liZWMxEzARBgNVBAcMClRlcnJlYm9u
bmUxGjAYBgNVBAkMETExNzkgZGUgbCdleHByZXNzMSswKQYDVQQLDCJBdXRob3Jp
dMOpIFJhY2luZSAvIFJvb3QgQXV0aG9yaXR5MTUwMwYDVQQKDCxTU0UgQ2FydGUg
w6AgUHVjZSBJbmMuIC8gRVNTIFNtYXJ0IENhcmQgSW5jLjFIMEYGA1UEAww/U2Vj
dXJpdMOpIENhcnRlIMOgIFB1Y2UgKFNDUCkgQUMgLyBTbWFydCBDYXJkIFNlY3Vy
aXR5IChTQ1MpIENBMIICIDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAujaC
TEi0kGZ1ms85eeUhugRpRtyk0CAzbxrXODaUSMN7QhGEcNVR8bPycaJuPSEwYYrx
DBRKIHzytuD+E/pHJUkn33uydbYHIauRvYJWmPaQVTKdnrv88JK0SdSFYFZoLhdv
k7WM/3LsSsAh6YiZSsX/fzOrgMjyPUawd1JkMrRhAT2D4dL8AUSfpvoqK4iOeFbq
8zczVyIakWhIQqwqP/+P6ib/sxiapohsDuiCdpQ7B7MTyzOH3kKpoGZm9Tr6DWYt
u8zANpo8zQ2ZLu045lNBQfUSz5SEwaDyYWQRShDUrlhzbxeAlb5609Cp8F8Q6MuJ
NC/42jQoCj0BAKQPz1rqdVTfcJsYVzatzyotprMaGMFzPFelRbJ+CK8DSLTMWT+B
HGWD8BpT7FePi6iHVbnqw08F90XPE3Wrhqtln8l3iXH65Coo4v9EVy4F+riNFKuk
zETDqeX0wjMuHLQKWKam1GzoZfPUBgsr37d7nlzmjtEcYEY3472ZIiMOxWT9oHPu
GWHLFheGXw1+5qwN0SukW0/9XuYG0fPfYntsMs8xlL/SsEfBDWimDc4Er8Urv047
aZy7kCAlwsmYhxXAur+Tpo34ws97Udk99e3Ik5N0bxzMgrKDRMY4xIJJhHNF5VWP
gQwzkCbquDXD7IyQ5xrlFApSIOlfgQTOePnk1ocCASWjgZAwgY0wHQYDVR0OBBYE
FCRgagdzJFV1Ozb6dFmTVcmyACY6MB8GA1UdIwQYMBaAFCRgagdzJFV1Ozb6dFmT
VcmyACY6MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMCoGA1UdEQQj
MCGGH2h0dHA6Ly9jYS5zbWFydGNhcmRzZWN1cml0eS5jYS8wDQYJKoZIhvcNAQEL
BQADggIBAKN3G99r5eJkUWKD1Jc9ayzZFpIxCshNbVGIfNe0ZiwCB9KtRiO+EjEu
nJlUOfjnXMZOD18ku4p6U5e0JCSVHxPH76p13sWFbxcYiwutcaOwsOKHIlf281an
ItwZbGOeSZ9oyTbrSKBSPX9Jjhsq0byPtQ5TRVwn2hCReeI2RBbs/5KDRHKMJ3Cs
wIZYWryBzZzGvGPldQtMUe2NPiTXv2y86CYewwhiMQRO3i/kZsjfeWIkqJYTzjA9
FDHDErSyce8e/1sXgDabqpEo6zrxd5HgQGB8FImVa7KtLIIqlQE9AX4WxAyNudyv
h+Ol335Ma4QP6kcjX1uF8wi+Q7+N9wAoW4B6POiP6tWbZEP90MJE59JJgPcZ17z3
e70LXsJOqZAQHjOVeS97Drdyqa0m7aW1CO+pLAMdN/ThlMbKCEjjOIl+RBOAfuY8
x4DzFPh1c9QM9mrjo7KsSjYBbK5jUXnXoQUQIPwSQEr+mTTcAxKGpgWPuFQcj3g0
mLjxKjUtjrmCT/S36hZDlQ/wF+r3aS+hKk7nR9sVjRYBG1n79RgAeHpA45iVar4a
yFJaEP8O++VRiAUN+Y7mqrA+jz97k6bGilrE2FlW/2PYTeggt/0WTmYmJuENAmGy
jAN5EyrPR+ILeqXlLpLa7tYbY2DFMtd5Um9NyI1imFENovV5+lbD
-----END CERTIFICATE-----
@@ -0,0 +1,43 @@
eToken Fusion FIPS
------------------
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgIJAICUTvkgtj5CMA0GCSqGSIb3DQEBCwUAMFExCzAJBgNV
BAYTAkZSMQwwCgYDVQQKDANESVMxCzAJBgNVBAsMAkNTMScwJQYDVQQDDB5HZW1h
bHRvIE11bHRpQXBwIEZJRE8gU3ViY2EgQ0EwHhcNMjAwNzA3MTQzNzE4WhcNMzAw
NzA1MTQzNzE4WjBRMQswCQYDVQQGEwJGUjEMMAoGA1UECgwDRElTMQswCQYDVQQL
DAJDUzEnMCUGA1UEAwweR2VtYWx0byBNdWx0aUFwcCBGSURPIFN1YmNhIENBMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAKOeqC5/p0D1isCYKQJlVUO
rB6I7DLocunE/Rm8duGTbyxQht3CbFVTv3N2Lp2fbjxlI+3sOSGk33FTYkTqxcdJ
IrJ7SskBcUSNrfKOaQT/6KQcP4Cm7V+655Tq+TWxyxWQhDygt15qoP7MuK6bT9Sw
pCjpfKhaMSmyQaMoUcRAbLqdzBCac0hzB+Ze+gqJlnWV9UaSI2rFsVuH4ZE0cRO+
MOpaLgM/s248nGGHp22ewSQfbnPaBbb8iqyAP+cu52GLsUpKRJebE+R6+PMQ9JCd
WeQZR3DkfSidkv3mcb4jq1iIta+MqKhRnwrfXh911KWLnYAl9ENChLX0c6Sj1QID
AQABo1AwTjAdBgNVHQ4EFgQUWLvhRBUPn8uLIf68+gv/NZIwGSIwHwYDVR0jBBgw
FoAUWLvhRBUPn8uLIf68+gv/NZIwGSIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
AQsFAAOCAQEAFLrDhaegeKHxYjH3EP3vUBKhnzM206ASxgeYCO2Ec9pOlYJaeqFE
+sUamUV/pwjDlqNaSgFgy7TweYkvOmMn4qScsHqvJ3zGOAiafwah1vUHfClXR8+a
xO2iGOUF0JKrZ9YYjbAa5/4HClv7jFPOdMWTOQyngoiHAs3jkuYjpCLFlB4VOi3d
1wjA1pnTdBKkAb7t8nTvw+/XbFvcQa73VH7sjvoBqD3fdMfRcuVq4qUZtZT6cGag
THD61Ttqh9oMCZXcDbR1PGZnNbqycsWPDIK0npmK3/3lfV8c+Zsry6e170mfJMZp
7O8m6CSz6/VLK+yDJd7841wpmeKTf6InZA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIC6TCCAdGgAwIBAgIJAJbTyru1X/IPMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNV
BAMMGEdlbWFsdG8gTXVsdGlBcHAgRklETyBDQTAeFw0xODA2MTIxNDQ1NTBaFw0y
ODA2MDkxNDQ1NTBaMCMxITAfBgNVBAMMGEdlbWFsdG8gTXVsdGlBcHAgRklETyBD
QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVjKHWpbD7TSlMxocjT
l6nIf7x32PmsQ9zGuLGGqA0UQZoIq3XLzL6LYUvJ5A5g0uyFGllHEfGAKrEaCQ8F
VvPS/Uh0FyfzWhRAziTSijjMIIVjjjUv9m9vFmcXScgHig7Odz8858V0krNH99qG
m3wjgaOerTWmt+jXCUfn01IkTPwxG2HlgEd45jNLSV7Vool+Ke8E2ki4lEkTeHzb
oulR5GUbp3nMi7E47VMQa3bNwnzWBbsaBSSQhLk3m5HaKhhxa6wJDK47NiMCkCkd
IHuWSQLVAfm85UAONtEOPwi0OuK3qbe8yKOFGf0KhB5MMeAym7MV/M4W0a49ogPD
9pMCAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZI
hvcNAQELBQADggEBAJWz5xLMk5WNYbAb6yOxECBoZ2WeB/ql4VJ3O/3/tNsxOYnz
LeWo540zQh9rAmaxz7eumBlskMq4yGPSNXB9ycWGHgkcCeSzN2wv8CIzDBs2oBZj
TNk65LBZDssTOBtMW/+uTFHQfbuO3ISLhI0DXfREi9NDM3jfk11xHcsfh2RMV+Qd
NfwVaZZrCq+ouG+Evkv7Kqq+oyu0VFM/tz68TGl6ylhPFR1qh9wttpVjAOOCEQCL
qP2dP28lwYByCqHQqVHwbujv/LZjZnKW3LYndZixPPSRCJssDDwJvh/f6nTxg9ZE
+/JcYre5CaI8nzVHaSOCjNJ7FzULG64JiWOvQ50=
-----END CERTIFICATE-----
@@ -0,0 +1,43 @@
eToken Fusion NFC FIPS
----------------------
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgIJAICUTvkgtj5CMA0GCSqGSIb3DQEBCwUAMFExCzAJBgNV
BAYTAkZSMQwwCgYDVQQKDANESVMxCzAJBgNVBAsMAkNTMScwJQYDVQQDDB5HZW1h
bHRvIE11bHRpQXBwIEZJRE8gU3ViY2EgQ0EwHhcNMjAwNzA3MTQzNzE4WhcNMzAw
NzA1MTQzNzE4WjBRMQswCQYDVQQGEwJGUjEMMAoGA1UECgwDRElTMQswCQYDVQQL
DAJDUzEnMCUGA1UEAwweR2VtYWx0byBNdWx0aUFwcCBGSURPIFN1YmNhIENBMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAKOeqC5/p0D1isCYKQJlVUO
rB6I7DLocunE/Rm8duGTbyxQht3CbFVTv3N2Lp2fbjxlI+3sOSGk33FTYkTqxcdJ
IrJ7SskBcUSNrfKOaQT/6KQcP4Cm7V+655Tq+TWxyxWQhDygt15qoP7MuK6bT9Sw
pCjpfKhaMSmyQaMoUcRAbLqdzBCac0hzB+Ze+gqJlnWV9UaSI2rFsVuH4ZE0cRO+
MOpaLgM/s248nGGHp22ewSQfbnPaBbb8iqyAP+cu52GLsUpKRJebE+R6+PMQ9JCd
WeQZR3DkfSidkv3mcb4jq1iIta+MqKhRnwrfXh911KWLnYAl9ENChLX0c6Sj1QID
AQABo1AwTjAdBgNVHQ4EFgQUWLvhRBUPn8uLIf68+gv/NZIwGSIwHwYDVR0jBBgw
FoAUWLvhRBUPn8uLIf68+gv/NZIwGSIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
AQsFAAOCAQEAFLrDhaegeKHxYjH3EP3vUBKhnzM206ASxgeYCO2Ec9pOlYJaeqFE
+sUamUV/pwjDlqNaSgFgy7TweYkvOmMn4qScsHqvJ3zGOAiafwah1vUHfClXR8+a
xO2iGOUF0JKrZ9YYjbAa5/4HClv7jFPOdMWTOQyngoiHAs3jkuYjpCLFlB4VOi3d
1wjA1pnTdBKkAb7t8nTvw+/XbFvcQa73VH7sjvoBqD3fdMfRcuVq4qUZtZT6cGag
THD61Ttqh9oMCZXcDbR1PGZnNbqycsWPDIK0npmK3/3lfV8c+Zsry6e170mfJMZp
7O8m6CSz6/VLK+yDJd7841wpmeKTf6InZA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIC6TCCAdGgAwIBAgIJAJbTyru1X/IPMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNV
BAMMGEdlbWFsdG8gTXVsdGlBcHAgRklETyBDQTAeFw0xODA2MTIxNDQ1NTBaFw0y
ODA2MDkxNDQ1NTBaMCMxITAfBgNVBAMMGEdlbWFsdG8gTXVsdGlBcHAgRklETyBD
QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVjKHWpbD7TSlMxocjT
l6nIf7x32PmsQ9zGuLGGqA0UQZoIq3XLzL6LYUvJ5A5g0uyFGllHEfGAKrEaCQ8F
VvPS/Uh0FyfzWhRAziTSijjMIIVjjjUv9m9vFmcXScgHig7Odz8858V0krNH99qG
m3wjgaOerTWmt+jXCUfn01IkTPwxG2HlgEd45jNLSV7Vool+Ke8E2ki4lEkTeHzb
oulR5GUbp3nMi7E47VMQa3bNwnzWBbsaBSSQhLk3m5HaKhhxa6wJDK47NiMCkCkd
IHuWSQLVAfm85UAONtEOPwi0OuK3qbe8yKOFGf0KhB5MMeAym7MV/M4W0a49ogPD
9pMCAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZI
hvcNAQELBQADggEBAJWz5xLMk5WNYbAb6yOxECBoZ2WeB/ql4VJ3O/3/tNsxOYnz
LeWo540zQh9rAmaxz7eumBlskMq4yGPSNXB9ycWGHgkcCeSzN2wv8CIzDBs2oBZj
TNk65LBZDssTOBtMW/+uTFHQfbuO3ISLhI0DXfREi9NDM3jfk11xHcsfh2RMV+Qd
NfwVaZZrCq+ouG+Evkv7Kqq+oyu0VFM/tz68TGl6ylhPFR1qh9wttpVjAOOCEQCL
qP2dP28lwYByCqHQqVHwbujv/LZjZnKW3LYndZixPPSRCJssDDwJvh/f6nTxg9ZE
+/JcYre5CaI8nzVHaSOCjNJ7FzULG64JiWOvQ50=
-----END CERTIFICATE-----
@@ -0,0 +1,43 @@
eToken Fusion NFC PIV
---------------------
-----BEGIN CERTIFICATE-----
MIIC6TCCAdGgAwIBAgIJAJbTyru1X/IPMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNV
BAMMGEdlbWFsdG8gTXVsdGlBcHAgRklETyBDQTAeFw0xODA2MTIxNDQ1NTBaFw0y
ODA2MDkxNDQ1NTBaMCMxITAfBgNVBAMMGEdlbWFsdG8gTXVsdGlBcHAgRklETyBD
QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVjKHWpbD7TSlMxocjT
l6nIf7x32PmsQ9zGuLGGqA0UQZoIq3XLzL6LYUvJ5A5g0uyFGllHEfGAKrEaCQ8F
VvPS/Uh0FyfzWhRAziTSijjMIIVjjjUv9m9vFmcXScgHig7Odz8858V0krNH99qG
m3wjgaOerTWmt+jXCUfn01IkTPwxG2HlgEd45jNLSV7Vool+Ke8E2ki4lEkTeHzb
oulR5GUbp3nMi7E47VMQa3bNwnzWBbsaBSSQhLk3m5HaKhhxa6wJDK47NiMCkCkd
IHuWSQLVAfm85UAONtEOPwi0OuK3qbe8yKOFGf0KhB5MMeAym7MV/M4W0a49ogPD
9pMCAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZI
hvcNAQELBQADggEBAJWz5xLMk5WNYbAb6yOxECBoZ2WeB/ql4VJ3O/3/tNsxOYnz
LeWo540zQh9rAmaxz7eumBlskMq4yGPSNXB9ycWGHgkcCeSzN2wv8CIzDBs2oBZj
TNk65LBZDssTOBtMW/+uTFHQfbuO3ISLhI0DXfREi9NDM3jfk11xHcsfh2RMV+Qd
NfwVaZZrCq+ouG+Evkv7Kqq+oyu0VFM/tz68TGl6ylhPFR1qh9wttpVjAOOCEQCL
qP2dP28lwYByCqHQqVHwbujv/LZjZnKW3LYndZixPPSRCJssDDwJvh/f6nTxg9ZE
+/JcYre5CaI8nzVHaSOCjNJ7FzULG64JiWOvQ50=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgIJAICUTvkgtj5CMA0GCSqGSIb3DQEBCwUAMFExCzAJBgNV
BAYTAkZSMQwwCgYDVQQKDANESVMxCzAJBgNVBAsMAkNTMScwJQYDVQQDDB5HZW1h
bHRvIE11bHRpQXBwIEZJRE8gU3ViY2EgQ0EwHhcNMjAwNzA3MTQzNzE4WhcNMzAw
NzA1MTQzNzE4WjBRMQswCQYDVQQGEwJGUjEMMAoGA1UECgwDRElTMQswCQYDVQQL
DAJDUzEnMCUGA1UEAwweR2VtYWx0byBNdWx0aUFwcCBGSURPIFN1YmNhIENBMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAKOeqC5/p0D1isCYKQJlVUO
rB6I7DLocunE/Rm8duGTbyxQht3CbFVTv3N2Lp2fbjxlI+3sOSGk33FTYkTqxcdJ
IrJ7SskBcUSNrfKOaQT/6KQcP4Cm7V+655Tq+TWxyxWQhDygt15qoP7MuK6bT9Sw
pCjpfKhaMSmyQaMoUcRAbLqdzBCac0hzB+Ze+gqJlnWV9UaSI2rFsVuH4ZE0cRO+
MOpaLgM/s248nGGHp22ewSQfbnPaBbb8iqyAP+cu52GLsUpKRJebE+R6+PMQ9JCd
WeQZR3DkfSidkv3mcb4jq1iIta+MqKhRnwrfXh911KWLnYAl9ENChLX0c6Sj1QID
AQABo1AwTjAdBgNVHQ4EFgQUWLvhRBUPn8uLIf68+gv/NZIwGSIwHwYDVR0jBBgw
FoAUWLvhRBUPn8uLIf68+gv/NZIwGSIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
AQsFAAOCAQEAFLrDhaegeKHxYjH3EP3vUBKhnzM206ASxgeYCO2Ec9pOlYJaeqFE
+sUamUV/pwjDlqNaSgFgy7TweYkvOmMn4qScsHqvJ3zGOAiafwah1vUHfClXR8+a
xO2iGOUF0JKrZ9YYjbAa5/4HClv7jFPOdMWTOQyngoiHAs3jkuYjpCLFlB4VOi3d
1wjA1pnTdBKkAb7t8nTvw+/XbFvcQa73VH7sjvoBqD3fdMfRcuVq4qUZtZT6cGag
THD61Ttqh9oMCZXcDbR1PGZnNbqycsWPDIK0npmK3/3lfV8c+Zsry6e170mfJMZp
7O8m6CSz6/VLK+yDJd7841wpmeKTf6InZA==
-----END CERTIFICATE-----
@@ -0,0 +1,43 @@
eToken Fusion NFC PIV Enterprise
--------------------------------
-----BEGIN CERTIFICATE-----
MIIC6TCCAdGgAwIBAgIJAJbTyru1X/IPMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNV
BAMMGEdlbWFsdG8gTXVsdGlBcHAgRklETyBDQTAeFw0xODA2MTIxNDQ1NTBaFw0y
ODA2MDkxNDQ1NTBaMCMxITAfBgNVBAMMGEdlbWFsdG8gTXVsdGlBcHAgRklETyBD
QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVjKHWpbD7TSlMxocjT
l6nIf7x32PmsQ9zGuLGGqA0UQZoIq3XLzL6LYUvJ5A5g0uyFGllHEfGAKrEaCQ8F
VvPS/Uh0FyfzWhRAziTSijjMIIVjjjUv9m9vFmcXScgHig7Odz8858V0krNH99qG
m3wjgaOerTWmt+jXCUfn01IkTPwxG2HlgEd45jNLSV7Vool+Ke8E2ki4lEkTeHzb
oulR5GUbp3nMi7E47VMQa3bNwnzWBbsaBSSQhLk3m5HaKhhxa6wJDK47NiMCkCkd
IHuWSQLVAfm85UAONtEOPwi0OuK3qbe8yKOFGf0KhB5MMeAym7MV/M4W0a49ogPD
9pMCAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZI
hvcNAQELBQADggEBAJWz5xLMk5WNYbAb6yOxECBoZ2WeB/ql4VJ3O/3/tNsxOYnz
LeWo540zQh9rAmaxz7eumBlskMq4yGPSNXB9ycWGHgkcCeSzN2wv8CIzDBs2oBZj
TNk65LBZDssTOBtMW/+uTFHQfbuO3ISLhI0DXfREi9NDM3jfk11xHcsfh2RMV+Qd
NfwVaZZrCq+ouG+Evkv7Kqq+oyu0VFM/tz68TGl6ylhPFR1qh9wttpVjAOOCEQCL
qP2dP28lwYByCqHQqVHwbujv/LZjZnKW3LYndZixPPSRCJssDDwJvh/f6nTxg9ZE
+/JcYre5CaI8nzVHaSOCjNJ7FzULG64JiWOvQ50=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgIJAICUTvkgtj5CMA0GCSqGSIb3DQEBCwUAMFExCzAJBgNV
BAYTAkZSMQwwCgYDVQQKDANESVMxCzAJBgNVBAsMAkNTMScwJQYDVQQDDB5HZW1h
bHRvIE11bHRpQXBwIEZJRE8gU3ViY2EgQ0EwHhcNMjAwNzA3MTQzNzE4WhcNMzAw
NzA1MTQzNzE4WjBRMQswCQYDVQQGEwJGUjEMMAoGA1UECgwDRElTMQswCQYDVQQL
DAJDUzEnMCUGA1UEAwweR2VtYWx0byBNdWx0aUFwcCBGSURPIFN1YmNhIENBMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAKOeqC5/p0D1isCYKQJlVUO
rB6I7DLocunE/Rm8duGTbyxQht3CbFVTv3N2Lp2fbjxlI+3sOSGk33FTYkTqxcdJ
IrJ7SskBcUSNrfKOaQT/6KQcP4Cm7V+655Tq+TWxyxWQhDygt15qoP7MuK6bT9Sw
pCjpfKhaMSmyQaMoUcRAbLqdzBCac0hzB+Ze+gqJlnWV9UaSI2rFsVuH4ZE0cRO+
MOpaLgM/s248nGGHp22ewSQfbnPaBbb8iqyAP+cu52GLsUpKRJebE+R6+PMQ9JCd
WeQZR3DkfSidkv3mcb4jq1iIta+MqKhRnwrfXh911KWLnYAl9ENChLX0c6Sj1QID
AQABo1AwTjAdBgNVHQ4EFgQUWLvhRBUPn8uLIf68+gv/NZIwGSIwHwYDVR0jBBgw
FoAUWLvhRBUPn8uLIf68+gv/NZIwGSIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
AQsFAAOCAQEAFLrDhaegeKHxYjH3EP3vUBKhnzM206ASxgeYCO2Ec9pOlYJaeqFE
+sUamUV/pwjDlqNaSgFgy7TweYkvOmMn4qScsHqvJ3zGOAiafwah1vUHfClXR8+a
xO2iGOUF0JKrZ9YYjbAa5/4HClv7jFPOdMWTOQyngoiHAs3jkuYjpCLFlB4VOi3d
1wjA1pnTdBKkAb7t8nTvw+/XbFvcQa73VH7sjvoBqD3fdMfRcuVq4qUZtZT6cGag
THD61Ttqh9oMCZXcDbR1PGZnNbqycsWPDIK0npmK3/3lfV8c+Zsry6e170mfJMZp
7O8m6CSz6/VLK+yDJd7841wpmeKTf6InZA==
-----END CERTIFICATE-----
@@ -0,0 +1,37 @@
eWBM eFA310 FIDO2 Authenticator
-------------------------------
-----BEGIN CERTIFICATE-----
MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAP
BgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5l
V0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlv
bjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYO
aW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCB
rzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5n
bmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVu
dGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0
ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggq
hkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO
81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYw
EQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2
VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUe
PLojcKI9fX84
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICgjCCAiigAwIBAgIBATAKBggqhkjOPQQDAjCBnTELMAkGA1UEBhMCS1IxDjAM
BgNVBAgMBVNlb3VsMRAwDgYDVQQHDAdHYW5nbmFtMRcwFQYDVQQKDA5lV0JNIENv
LiwgTHRkLjEZMBcGA1UECwwQQ2VydGlmaWNhdGUgVW5pdDEZMBcGA1UEAwwQZVdC
TSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wIBcN
MjMwNzExMDM0NjE0WhgPMjA3MzA2MjgwMzQ2MTRaMIGdMQswCQYDVQQGEwJLUjEO
MAwGA1UECAwFU2VvdWwxEDAOBgNVBAcMB0dhbmduYW0xFzAVBgNVBAoMDmVXQk0g
Q28uLCBMdGQuMRkwFwYDVQQLDBBDZXJ0aWZpY2F0ZSBVbml0MRkwFwYDVQQDDBBl
V0JNIENlcnRpZmljYXRlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQGUtd2JtLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABAh+oeKyLSg797I6pJoOuv2K0bYjKYGQ
edIMZAghiZP6+oDwCA7zWaiZzYt3k8akQ3qa4TnjA8dCO9z/IKKHy7ajVTBTMBIG
A1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLcn9/GIC/baKt0Gz3xI4OEXuRT+
MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcwCgYIKoZIzj0EAwIDSAAw
RQIhANVnJde//tBLq8MDDi+SAd6UdYIZSng4PMqmyNrvZj64AiAX0xSzAhFaCCp/
uhpVgnlF+XBgrwAIsotZGTB6rkB31A==
-----END CERTIFICATE-----
@@ -0,0 +1,37 @@
eWBM eFA320 FIDO2 Authenticator
-------------------------------
-----BEGIN CERTIFICATE-----
MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAP
BgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5l
V0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlv
bjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYO
aW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCB
rzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5n
bmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVu
dGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0
ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggq
hkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO
81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYw
EQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2
VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUe
PLojcKI9fX84
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICgjCCAiigAwIBAgIBATAKBggqhkjOPQQDAjCBnTELMAkGA1UEBhMCS1IxDjAM
BgNVBAgMBVNlb3VsMRAwDgYDVQQHDAdHYW5nbmFtMRcwFQYDVQQKDA5lV0JNIENv
LiwgTHRkLjEZMBcGA1UECwwQQ2VydGlmaWNhdGUgVW5pdDEZMBcGA1UEAwwQZVdC
TSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wIBcN
MjMwNzExMDM0NjE0WhgPMjA3MzA2MjgwMzQ2MTRaMIGdMQswCQYDVQQGEwJLUjEO
MAwGA1UECAwFU2VvdWwxEDAOBgNVBAcMB0dhbmduYW0xFzAVBgNVBAoMDmVXQk0g
Q28uLCBMdGQuMRkwFwYDVQQLDBBDZXJ0aWZpY2F0ZSBVbml0MRkwFwYDVQQDDBBl
V0JNIENlcnRpZmljYXRlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQGUtd2JtLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABAh+oeKyLSg797I6pJoOuv2K0bYjKYGQ
edIMZAghiZP6+oDwCA7zWaiZzYt3k8akQ3qa4TnjA8dCO9z/IKKHy7ajVTBTMBIG
A1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLcn9/GIC/baKt0Gz3xI4OEXuRT+
MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcwCgYIKoZIzj0EAwIDSAAw
RQIhANVnJde//tBLq8MDDi+SAd6UdYIZSng4PMqmyNrvZj64AiAX0xSzAhFaCCp/
uhpVgnlF+XBgrwAIsotZGTB6rkB31A==
-----END CERTIFICATE-----
@@ -0,0 +1,37 @@
eWBM eFA500 FIDO2 Authenticator
-------------------------------
-----BEGIN CERTIFICATE-----
MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAP
BgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5l
V0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlv
bjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYO
aW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCB
rzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5n
bmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVu
dGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0
ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggq
hkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO
81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYw
EQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2
VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUe
PLojcKI9fX84
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICgjCCAiigAwIBAgIBATAKBggqhkjOPQQDAjCBnTELMAkGA1UEBhMCS1IxDjAM
BgNVBAgMBVNlb3VsMRAwDgYDVQQHDAdHYW5nbmFtMRcwFQYDVQQKDA5lV0JNIENv
LiwgTHRkLjEZMBcGA1UECwwQQ2VydGlmaWNhdGUgVW5pdDEZMBcGA1UEAwwQZVdC
TSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wIBcN
MjMwNzExMDM0NjE0WhgPMjA3MzA2MjgwMzQ2MTRaMIGdMQswCQYDVQQGEwJLUjEO
MAwGA1UECAwFU2VvdWwxEDAOBgNVBAcMB0dhbmduYW0xFzAVBgNVBAoMDmVXQk0g
Q28uLCBMdGQuMRkwFwYDVQQLDBBDZXJ0aWZpY2F0ZSBVbml0MRkwFwYDVQQDDBBl
V0JNIENlcnRpZmljYXRlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQGUtd2JtLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABAh+oeKyLSg797I6pJoOuv2K0bYjKYGQ
edIMZAghiZP6+oDwCA7zWaiZzYt3k8akQ3qa4TnjA8dCO9z/IKKHy7ajVTBTMBIG
A1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLcn9/GIC/baKt0Gz3xI4OEXuRT+
MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcwCgYIKoZIzj0EAwIDSAAw
RQIhANVnJde//tBLq8MDDi+SAd6UdYIZSng4PMqmyNrvZj64AiAX0xSzAhFaCCp/
uhpVgnlF+XBgrwAIsotZGTB6rkB31A==
-----END CERTIFICATE-----
@@ -0,0 +1,37 @@
eWBM eFPA FIDO2 Authenticator
-----------------------------
-----BEGIN CERTIFICATE-----
MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAP
BgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5l
V0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlv
bjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYO
aW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCB
rzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5n
bmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVu
dGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0
ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggq
hkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO
81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYw
EQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2
VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUe
PLojcKI9fX84
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICgjCCAiigAwIBAgIBATAKBggqhkjOPQQDAjCBnTELMAkGA1UEBhMCS1IxDjAM
BgNVBAgMBVNlb3VsMRAwDgYDVQQHDAdHYW5nbmFtMRcwFQYDVQQKDA5lV0JNIENv
LiwgTHRkLjEZMBcGA1UECwwQQ2VydGlmaWNhdGUgVW5pdDEZMBcGA1UEAwwQZVdC
TSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wIBcN
MjMwNzExMDM0NjE0WhgPMjA3MzA2MjgwMzQ2MTRaMIGdMQswCQYDVQQGEwJLUjEO
MAwGA1UECAwFU2VvdWwxEDAOBgNVBAcMB0dhbmduYW0xFzAVBgNVBAoMDmVXQk0g
Q28uLCBMdGQuMRkwFwYDVQQLDBBDZXJ0aWZpY2F0ZSBVbml0MRkwFwYDVQQDDBBl
V0JNIENlcnRpZmljYXRlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQGUtd2JtLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABAh+oeKyLSg797I6pJoOuv2K0bYjKYGQ
edIMZAghiZP6+oDwCA7zWaiZzYt3k8akQ3qa4TnjA8dCO9z/IKKHy7ajVTBTMBIG
A1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLcn9/GIC/baKt0Gz3xI4OEXuRT+
MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcwCgYIKoZIzj0EAwIDSAAw
RQIhANVnJde//tBLq8MDDi+SAd6UdYIZSng4PMqmyNrvZj64AiAX0xSzAhFaCCp/
uhpVgnlF+XBgrwAIsotZGTB6rkB31A==
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
Excelsecu eSecu FIDO2 Fingerprint Key
-------------------------------------
-----BEGIN CERTIFICATE-----
MIICSDCCAe2gAwIBAgIJAM9RzYu4EIIlMAoGCCqGSM49BAMCMH8xCzAJBgNVBAYT
AkNOMSwwKgYDVQQKDCNFeGNlbHNlY3UgRGF0YSBUZWNobm9sb2d5IENvLiwgTHRk
LjEeMBwGA1UECwwVRXhjZWxzZWN1IEZpZG8gU2VydmVyMSIwIAYDVQQDDBlFeGNl
bHNlY3UgRmlkbyBSb290IENBIDAyMCAXDTE5MTAyMzA5NTA0M1oYDzIwNTkxMDEz
MDk1MDQzWjB/MQswCQYDVQQGEwJDTjEsMCoGA1UECgwjRXhjZWxzZWN1IERhdGEg
VGVjaG5vbG9neSBDby4sIEx0ZC4xHjAcBgNVBAsMFUV4Y2Vsc2VjdSBGaWRvIFNl
cnZlcjEiMCAGA1UEAwwZRXhjZWxzZWN1IEZpZG8gUm9vdCBDQSAwMjBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABHlq2jUQMalHj/BReQefGiz4EvYJyFLWPz4RfhJG
Kqql+8n96hT1m5gXoTvoLrjSU7X0cBeoTsghyh22+yrs4+SjUDBOMB0GA1UdDgQW
BBQ+8SGW2BXbqb2dcAOiWJOU+GCsPjAfBgNVHSMEGDAWgBQ+8SGW2BXbqb2dcAOi
WJOU+GCsPjAMBgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQDq8xIW0ZK5
yz3EAzmux88LCTYO157fTfyOiOzC2ADyawIhAO1PWYleFgH/3muD8cBAMr11fEKd
F/AaC16ftxaezNXH
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
Excelsecu eSecu FIDO2 Fingerprint Security Key
----------------------------------------------
-----BEGIN CERTIFICATE-----
MIICSDCCAe2gAwIBAgIJAM9RzYu4EIIlMAoGCCqGSM49BAMCMH8xCzAJBgNVBAYT
AkNOMSwwKgYDVQQKDCNFeGNlbHNlY3UgRGF0YSBUZWNobm9sb2d5IENvLiwgTHRk
LjEeMBwGA1UECwwVRXhjZWxzZWN1IEZpZG8gU2VydmVyMSIwIAYDVQQDDBlFeGNl
bHNlY3UgRmlkbyBSb290IENBIDAyMCAXDTE5MTAyMzA5NTA0M1oYDzIwNTkxMDEz
MDk1MDQzWjB/MQswCQYDVQQGEwJDTjEsMCoGA1UECgwjRXhjZWxzZWN1IERhdGEg
VGVjaG5vbG9neSBDby4sIEx0ZC4xHjAcBgNVBAsMFUV4Y2Vsc2VjdSBGaWRvIFNl
cnZlcjEiMCAGA1UEAwwZRXhjZWxzZWN1IEZpZG8gUm9vdCBDQSAwMjBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABHlq2jUQMalHj/BReQefGiz4EvYJyFLWPz4RfhJG
Kqql+8n96hT1m5gXoTvoLrjSU7X0cBeoTsghyh22+yrs4+SjUDBOMB0GA1UdDgQW
BBQ+8SGW2BXbqb2dcAOiWJOU+GCsPjAfBgNVHSMEGDAWgBQ+8SGW2BXbqb2dcAOi
WJOU+GCsPjAMBgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQDq8xIW0ZK5
yz3EAzmux88LCTYO157fTfyOiOzC2ADyawIhAO1PWYleFgH/3muD8cBAMr11fEKd
F/AaC16ftxaezNXH
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
Excelsecu eSecu FIDO2 NFC Security Key
--------------------------------------
-----BEGIN CERTIFICATE-----
MIICSDCCAe2gAwIBAgIJAM9RzYu4EIIlMAoGCCqGSM49BAMCMH8xCzAJBgNVBAYT
AkNOMSwwKgYDVQQKDCNFeGNlbHNlY3UgRGF0YSBUZWNobm9sb2d5IENvLiwgTHRk
LjEeMBwGA1UECwwVRXhjZWxzZWN1IEZpZG8gU2VydmVyMSIwIAYDVQQDDBlFeGNl
bHNlY3UgRmlkbyBSb290IENBIDAyMCAXDTE5MTAyMzA5NTA0M1oYDzIwNTkxMDEz
MDk1MDQzWjB/MQswCQYDVQQGEwJDTjEsMCoGA1UECgwjRXhjZWxzZWN1IERhdGEg
VGVjaG5vbG9neSBDby4sIEx0ZC4xHjAcBgNVBAsMFUV4Y2Vsc2VjdSBGaWRvIFNl
cnZlcjEiMCAGA1UEAwwZRXhjZWxzZWN1IEZpZG8gUm9vdCBDQSAwMjBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABHlq2jUQMalHj/BReQefGiz4EvYJyFLWPz4RfhJG
Kqql+8n96hT1m5gXoTvoLrjSU7X0cBeoTsghyh22+yrs4+SjUDBOMB0GA1UdDgQW
BBQ+8SGW2BXbqb2dcAOiWJOU+GCsPjAfBgNVHSMEGDAWgBQ+8SGW2BXbqb2dcAOi
WJOU+GCsPjAMBgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQDq8xIW0ZK5
yz3EAzmux88LCTYO157fTfyOiOzC2ADyawIhAO1PWYleFgH/3muD8cBAMr11fEKd
F/AaC16ftxaezNXH
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
Excelsecu eSecu FIDO2 PRO Security Key
--------------------------------------
-----BEGIN CERTIFICATE-----
MIICSDCCAe2gAwIBAgIJAM9RzYu4EIIlMAoGCCqGSM49BAMCMH8xCzAJBgNVBAYT
AkNOMSwwKgYDVQQKDCNFeGNlbHNlY3UgRGF0YSBUZWNobm9sb2d5IENvLiwgTHRk
LjEeMBwGA1UECwwVRXhjZWxzZWN1IEZpZG8gU2VydmVyMSIwIAYDVQQDDBlFeGNl
bHNlY3UgRmlkbyBSb290IENBIDAyMCAXDTE5MTAyMzA5NTA0M1oYDzIwNTkxMDEz
MDk1MDQzWjB/MQswCQYDVQQGEwJDTjEsMCoGA1UECgwjRXhjZWxzZWN1IERhdGEg
VGVjaG5vbG9neSBDby4sIEx0ZC4xHjAcBgNVBAsMFUV4Y2Vsc2VjdSBGaWRvIFNl
cnZlcjEiMCAGA1UEAwwZRXhjZWxzZWN1IEZpZG8gUm9vdCBDQSAwMjBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABHlq2jUQMalHj/BReQefGiz4EvYJyFLWPz4RfhJG
Kqql+8n96hT1m5gXoTvoLrjSU7X0cBeoTsghyh22+yrs4+SjUDBOMB0GA1UdDgQW
BBQ+8SGW2BXbqb2dcAOiWJOU+GCsPjAfBgNVHSMEGDAWgBQ+8SGW2BXbqb2dcAOi
WJOU+GCsPjAMBgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQDq8xIW0ZK5
yz3EAzmux88LCTYO157fTfyOiOzC2ADyawIhAO1PWYleFgH/3muD8cBAMr11fEKd
F/AaC16ftxaezNXH
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
Excelsecu eSecu FIDO2 Security Key
----------------------------------
-----BEGIN CERTIFICATE-----
MIICVjCCAf2gAwIBAgIJANoM39ZY75ZpMAoGCCqGSM49BAMCMIGGMQswCQYDVQQG
EwJDTjEzMDEGA1UECgwqU2hlbnpoZW4gRXhjZWxzZWN1IERhdGEgVGVjaG5vbG9n
eSBDby4gTHRkMR4wHAYDVQQLDBVFeGNlbHNlY3UgRmlkbyBTZXJ2ZXIxIjAgBgNV
BAMMGUV4Y2Vsc2VjdSBGaWRvIFJvb3QgQ0EgMDEwIBcNMTkwMTI5MDIwODMyWhgP
MjA1OTAxMTkwMjA4MzJaMIGGMQswCQYDVQQGEwJDTjEzMDEGA1UECgwqU2hlbnpo
ZW4gRXhjZWxzZWN1IERhdGEgVGVjaG5vbG9neSBDby4gTHRkMR4wHAYDVQQLDBVF
eGNlbHNlY3UgRmlkbyBTZXJ2ZXIxIjAgBgNVBAMMGUV4Y2Vsc2VjdSBGaWRvIFJv
b3QgQ0EgMDEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATV+rOFE2MvCxKnJ2qE
Ml1xV+1IBFhWVzFPe/7ASjVIEcV9ppK0i+iT8CqQJccxBpz5dOTes6AsapCm9a3y
eB8Do1AwTjAdBgNVHQ4EFgQU9IKvvpbgxs/6SoifXenFNDtI7CMwHwYDVR0jBBgw
FoAU9IKvvpbgxs/6SoifXenFNDtI7CMwDAYDVR0TBAUwAwEB/zAKBggqhkjOPQQD
AgNHADBEAiBH09rluD+Ruj6ty7jYhArYmznEopVk/+kxdzfRqQx1JQIgSoMXkPc9
kflvmwDRdQq+XN1bjH84dAF9rjoyMlEkN5w=
-----END CERTIFICATE-----
@@ -0,0 +1,19 @@
Excelsecu eSecu FIDO Security Key
---------------------------------
-----BEGIN CERTIFICATE-----
MIICkjCCAjmgAwIBAgIJALliKvqGHwOxMAoGCCqGSM49BAMCMIGlMQswCQYDVQQG
EwJDTjESMBAGA1UECAwJR3Vhbmdkb25nMREwDwYDVQQHDAhTaGVuemhlbjEzMDEG
A1UECgwqU2hlbnpoZW4gRXhjZWxzZWN1IERhdGEgVGVjaG5vbG9neSBDby4gTHRk
MR4wHAYDVQQLDBVFeGNlbHNlY3UgRmlkbyBTZXJ2ZXIxGjAYBgNVBAMMEUV4Y2Vs
c2VjdSBGaWRvIENBMB4XDTE3MDMwMjA5MTUxMFoXDTI3MDIyODA5MTUxMFowgaUx
CzAJBgNVBAYTAkNOMRIwEAYDVQQIDAlHdWFuZ2RvbmcxETAPBgNVBAcMCFNoZW56
aGVuMTMwMQYDVQQKDCpTaGVuemhlbiBFeGNlbHNlY3UgRGF0YSBUZWNobm9sb2d5
IENvLiBMdGQxHjAcBgNVBAsMFUV4Y2Vsc2VjdSBGaWRvIFNlcnZlcjEaMBgGA1UE
AwwRRXhjZWxzZWN1IEZpZG8gQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATm
n91EIYVf5DT0p9ipc3MobfwKarnP9dM8crMSZNPXyYv0H738uKjBnnlCrq33ITDw
CODSlUaDw50Injnu5yPCo1AwTjAdBgNVHQ4EFgQUrIkvD6zLiDucdhNnAqlmrInN
n5swHwYDVR0jBBgwFoAUrIkvD6zLiDucdhNnAqlmrInNn5swDAYDVR0TBAUwAwEB
/zAKBggqhkjOPQQDAgNHADBEAiADdZBSy59F3dzc+EvU9JCv3eHJw+AivBXU8H46
e6ep9AIgUt9/Ag/vTAjIkKtIJs/zbHafDcJmrnyU/ZP115Oben0=
-----END CERTIFICATE-----
@@ -0,0 +1,98 @@
Feitian AllinOne FIDO2 Authenticator
------------------------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9
D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICXzCCAcGgAwIBAgIQZlrgX7hufvlliU/zGXhixDAKBggqhkjOPQQDBDBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZFSVRJQU4gRklETyBSb290IENBMCAXDTI1MDEwMTAwMDAwMFoYDzIxMjQx
MjMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZFSVRJQU4gRklETyBSb290IENBMIGbMBAGByqG
SM49AgEGBSuBBAAjA4GGAAQAM3K4RlbgKxBsfCjGUQtSK61JCaoM+ZlXBa8SxOHw
AIqbHa1+i7Eo23RGxrfBx8eUBDeEwSLY6yNhMsYMcnhzX8ABea2GAy5Ayd/0o0yT
Xt4NKOgRVktuW7fbAKpOobAerDk7rNOFj5KIafcXym4xAfDpXEPILiqXFpyyRrRM
k/MDayOjQjBAMB0GA1UdDgQWBBSTvGa4M5EerC5XgdIx1gst0nnezzAPBgNVHRMB
Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDBAOBiwAwgYcCQgFe
RCXIxI4lhsJs76K+ZVFWh3bTmcrYE4y36Xda89LG1WjcxmKv1AQuqFN3PQloxRjf
xfhFOqLkq5kGwHR2Sasc8AJBSeUNSjsGUtOObL6E9l1Zf9wk7RSWxHtlsH0GjSrF
0Cb2GWI02VKLWWPweXZSInZpwlNzrCBENpcDm14/OyUPWUg=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4
mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2TCCAX6gAwIBAgIQFQNKW+7zbg/7d+lTyrIWwDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCB0NFQSN0z4lWz/yc36ewrTCzttK/q
FvlaPOKh+T1o6wIhAP0oKKA+cicsDy3Y3n+VlP8eB3PBzMkhvW/9ISXCw+VB
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX+gAwIBAgIRAMs8YXVBoBNuXUjqfCoX7y4wCgYIKoZIzj0EAwIwSzEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYD
VQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDAgFw0yMzAxMDEwMDAwMDBaGA8yMDUy
MTIzMTIzNTk1OVowSzELMAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVj
aG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABD2LHHAQqYbdR1WZluertM30rWhorYavWmMVa4nd
X9PZwuREpLQ4m1nElqQKMnRE8/4C+Rqwiav+mpI4kxd5e5ujQjBAMB0GA1UdDgQW
BBS3ZZjyGlhZ99N1vLoTPXVUa4ZEYDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAoD+R6kolIWaNJz4hz03D3ges3GbMB
jAWpkOUg9ayFgwIgbEw7AYSyk68OvxgXezgndTRTEuSWT+fdRnLaBNsaTw0=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICWzCCAb2gAwIBAgIQCp16Ddg/PMH42DNlwp7NujAKBggqhkjOPQQDAzBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZFSVRJQU4gRklETyBSb290IENBMCAXDTI1MDEwMTAwMDAwMFoYDzIxMDAx
MjMxMjM1OTU5WjBJMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxGzAZBgNVBAMMEkZFSVRJQU4gRklETyBDQSAwNjB2MBAGByqGSM49
AgEGBSuBBAAiA2IABA7a+dmMNMIOEodscRq9wvbhc2U9rXAd0CCKJ+wgJKpzcvSG
4L7oe7g03yIMRf8pnPrN3dAGE7Nf3aT9QQzxzv9fAYUKtYFjRwcYFEtVfiHG5Qp4
W0Q28yu0JF+JsCmKU6NmMGQwHQYDVR0OBBYEFAeLKS9juH2fssAqHmqAEdsGvpoy
MB8GA1UdIwQYMBaAFJO8ZrgzkR6sLleB0jHWCy3Sed7PMBIGA1UdEwEB/wQIMAYB
Af8CAQAwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA4GLADCBhwJCAQq6Mj3H
iY7PV2wvD6VortW/lpofG9ckfHfoBzGe+fe6Cya1xY5O/PaVxvb8qvCCb0qxOTN+
cIC4iHulfXlf/FNyAkFnLht+0AMxF/KloiV9m8pfNC9ySYdTJyNU/545oBKTRbFa
/Ve5SX77l6tOTO/6wmhDTp/bh6NVdW4IhL4kPI6woA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
Feitian BioPass FIDO2 Authenticator
-----------------------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9
D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4
mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=
-----END CERTIFICATE-----
@@ -0,0 +1,41 @@
Feitian BioPass FIDO2 Plus Authenticator
----------------------------------------
-----BEGIN CERTIFICATE-----
MIIB2TCCAX6gAwIBAgIQFQNKW+7zbg/7d+lTyrIWwDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCB0NFQSN0z4lWz/yc36ewrTCzttK/q
FvlaPOKh+T1o6wIhAP0oKKA+cicsDy3Y3n+VlP8eB3PBzMkhvW/9ISXCw+VB
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX+gAwIBAgIRAMs8YXVBoBNuXUjqfCoX7y4wCgYIKoZIzj0EAwIwSzEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYD
VQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDAgFw0yMzAxMDEwMDAwMDBaGA8yMDUy
MTIzMTIzNTk1OVowSzELMAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVj
aG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABD2LHHAQqYbdR1WZluertM30rWhorYavWmMVa4nd
X9PZwuREpLQ4m1nElqQKMnRE8/4C+Rqwiav+mpI4kxd5e5ujQjBAMB0GA1UdDgQW
BBS3ZZjyGlhZ99N1vLoTPXVUa4ZEYDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAoD+R6kolIWaNJz4hz03D3ges3GbMB
jAWpkOUg9ayFgwIgbEw7AYSyk68OvxgXezgndTRTEuSWT+fdRnLaBNsaTw0=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQBTmk3ZwilFXjsZywHDnMgDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIByRz4OAlRZ9Hz9KV7g2QNtC0C8JxH/x
LJY8FZEmtJ3sAiEAsreT0+eNkNcUjI9h5OPCoH6NmsOkgvEABJZrF07ADkY=
-----END CERTIFICATE-----
@@ -0,0 +1,41 @@
Feitian BioPass FIDO2 Plus (Enterprise Profile)
-----------------------------------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQBTmk3ZwilFXjsZywHDnMgDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIByRz4OAlRZ9Hz9KV7g2QNtC0C8JxH/x
LJY8FZEmtJ3sAiEAsreT0+eNkNcUjI9h5OPCoH6NmsOkgvEABJZrF07ADkY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX+gAwIBAgIRAMs8YXVBoBNuXUjqfCoX7y4wCgYIKoZIzj0EAwIwSzEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYD
VQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDAgFw0yMzAxMDEwMDAwMDBaGA8yMDUy
MTIzMTIzNTk1OVowSzELMAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVj
aG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABD2LHHAQqYbdR1WZluertM30rWhorYavWmMVa4nd
X9PZwuREpLQ4m1nElqQKMnRE8/4C+Rqwiav+mpI4kxd5e5ujQjBAMB0GA1UdDgQW
BBS3ZZjyGlhZ99N1vLoTPXVUa4ZEYDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAoD+R6kolIWaNJz4hz03D3ges3GbMB
jAWpkOUg9ayFgwIgbEw7AYSyk68OvxgXezgndTRTEuSWT+fdRnLaBNsaTw0=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2TCCAX6gAwIBAgIQFQNKW+7zbg/7d+lTyrIWwDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCB0NFQSN0z4lWz/yc36ewrTCzttK/q
FvlaPOKh+T1o6wIhAP0oKKA+cicsDy3Y3n+VlP8eB3PBzMkhvW/9ISXCw+VB
-----END CERTIFICATE-----
@@ -0,0 +1,41 @@
Feitian BioPass FIDO2 Pro Authenticator
---------------------------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQBTmk3ZwilFXjsZywHDnMgDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIByRz4OAlRZ9Hz9KV7g2QNtC0C8JxH/x
LJY8FZEmtJ3sAiEAsreT0+eNkNcUjI9h5OPCoH6NmsOkgvEABJZrF07ADkY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2TCCAX6gAwIBAgIQFQNKW+7zbg/7d+lTyrIWwDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCB0NFQSN0z4lWz/yc36ewrTCzttK/q
FvlaPOKh+T1o6wIhAP0oKKA+cicsDy3Y3n+VlP8eB3PBzMkhvW/9ISXCw+VB
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX+gAwIBAgIRAMs8YXVBoBNuXUjqfCoX7y4wCgYIKoZIzj0EAwIwSzEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYD
VQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDAgFw0yMzAxMDEwMDAwMDBaGA8yMDUy
MTIzMTIzNTk1OVowSzELMAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVj
aG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABD2LHHAQqYbdR1WZluertM30rWhorYavWmMVa4nd
X9PZwuREpLQ4m1nElqQKMnRE8/4C+Rqwiav+mpI4kxd5e5ujQjBAMB0GA1UdDgQW
BBS3ZZjyGlhZ99N1vLoTPXVUa4ZEYDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAoD+R6kolIWaNJz4hz03D3ges3GbMB
jAWpkOUg9ayFgwIgbEw7AYSyk68OvxgXezgndTRTEuSWT+fdRnLaBNsaTw0=
-----END CERTIFICATE-----
@@ -0,0 +1,41 @@
Feitian BioPass FIDO2 Pro (Enterprise Profile)
----------------------------------------------
-----BEGIN CERTIFICATE-----
MIIB2TCCAX6gAwIBAgIQFQNKW+7zbg/7d+lTyrIWwDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCB0NFQSN0z4lWz/yc36ewrTCzttK/q
FvlaPOKh+T1o6wIhAP0oKKA+cicsDy3Y3n+VlP8eB3PBzMkhvW/9ISXCw+VB
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQBTmk3ZwilFXjsZywHDnMgDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIByRz4OAlRZ9Hz9KV7g2QNtC0C8JxH/x
LJY8FZEmtJ3sAiEAsreT0+eNkNcUjI9h5OPCoH6NmsOkgvEABJZrF07ADkY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX+gAwIBAgIRAMs8YXVBoBNuXUjqfCoX7y4wCgYIKoZIzj0EAwIwSzEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYD
VQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDAgFw0yMzAxMDEwMDAwMDBaGA8yMDUy
MTIzMTIzNTk1OVowSzELMAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVj
aG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABD2LHHAQqYbdR1WZluertM30rWhorYavWmMVa4nd
X9PZwuREpLQ4m1nElqQKMnRE8/4C+Rqwiav+mpI4kxd5e5ujQjBAMB0GA1UdDgQW
BBS3ZZjyGlhZ99N1vLoTPXVUa4ZEYDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAoD+R6kolIWaNJz4hz03D3ges3GbMB
jAWpkOUg9ayFgwIgbEw7AYSyk68OvxgXezgndTRTEuSWT+fdRnLaBNsaTw0=
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
Feitian BioPass FIDO Security Key
---------------------------------
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
Feitian ePass FIDO2 Authenticator
---------------------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9
D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4
mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
Feitian ePass FIDO2-NFC Authenticator
-------------------------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9
D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4
mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
Feitian ePass FIDO2-NFC Plus Authenticator
------------------------------------------
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4
mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9
D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=
-----END CERTIFICATE-----
@@ -0,0 +1,41 @@
Feitian ePass FIDO2-NFC Series (CTAP2.1, CTAP2.0, U2F)
------------------------------------------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX+gAwIBAgIRAMs8YXVBoBNuXUjqfCoX7y4wCgYIKoZIzj0EAwIwSzEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYD
VQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDAgFw0yMzAxMDEwMDAwMDBaGA8yMDUy
MTIzMTIzNTk1OVowSzELMAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVj
aG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABD2LHHAQqYbdR1WZluertM30rWhorYavWmMVa4nd
X9PZwuREpLQ4m1nElqQKMnRE8/4C+Rqwiav+mpI4kxd5e5ujQjBAMB0GA1UdDgQW
BBS3ZZjyGlhZ99N1vLoTPXVUa4ZEYDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAoD+R6kolIWaNJz4hz03D3ges3GbMB
jAWpkOUg9ayFgwIgbEw7AYSyk68OvxgXezgndTRTEuSWT+fdRnLaBNsaTw0=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2TCCAX6gAwIBAgIQFQNKW+7zbg/7d+lTyrIWwDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCB0NFQSN0z4lWz/yc36ewrTCzttK/q
FvlaPOKh+T1o6wIhAP0oKKA+cicsDy3Y3n+VlP8eB3PBzMkhvW/9ISXCw+VB
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQBTmk3ZwilFXjsZywHDnMgDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIByRz4OAlRZ9Hz9KV7g2QNtC0C8JxH/x
LJY8FZEmtJ3sAiEAsreT0+eNkNcUjI9h5OPCoH6NmsOkgvEABJZrF07ADkY=
-----END CERTIFICATE-----
@@ -0,0 +1,41 @@
Feitian ePass FIDO Authenticator (CTAP2.1, CTAP2.0, U2F)
--------------------------------------------------------
-----BEGIN CERTIFICATE-----
MIIB2TCCAX6gAwIBAgIQFQNKW+7zbg/7d+lTyrIWwDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCB0NFQSN0z4lWz/yc36ewrTCzttK/q
FvlaPOKh+T1o6wIhAP0oKKA+cicsDy3Y3n+VlP8eB3PBzMkhvW/9ISXCw+VB
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQBTmk3ZwilFXjsZywHDnMgDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIByRz4OAlRZ9Hz9KV7g2QNtC0C8JxH/x
LJY8FZEmtJ3sAiEAsreT0+eNkNcUjI9h5OPCoH6NmsOkgvEABJZrF07ADkY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX+gAwIBAgIRAMs8YXVBoBNuXUjqfCoX7y4wCgYIKoZIzj0EAwIwSzEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYD
VQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDAgFw0yMzAxMDEwMDAwMDBaGA8yMDUy
MTIzMTIzNTk1OVowSzELMAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVj
aG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABD2LHHAQqYbdR1WZluertM30rWhorYavWmMVa4nd
X9PZwuREpLQ4m1nElqQKMnRE8/4C+Rqwiav+mpI4kxd5e5ujQjBAMB0GA1UdDgQW
BBS3ZZjyGlhZ99N1vLoTPXVUa4ZEYDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAoD+R6kolIWaNJz4hz03D3ges3GbMB
jAWpkOUg9ayFgwIgbEw7AYSyk68OvxgXezgndTRTEuSWT+fdRnLaBNsaTw0=
-----END CERTIFICATE-----
@@ -0,0 +1,47 @@
Feitian ePass FIDO-NFC(CTAP2.1, CTAP2.0, U2F)
---------------------------------------------
-----BEGIN CERTIFICATE-----
MIICXDCCAb2gAwIBAgIQGgHtUVunmiOu21qJLyxioDAKBggqhkjOPQQDAzBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZFSVRJQU4gRklETyBSb290IENBMCAXDTI1MDEwMTAwMDAwMFoYDzIxMDAx
MjMxMjM1OTU5WjBJMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxGzAZBgNVBAMMEkZFSVRJQU4gRklETyBDQSAwMjB2MBAGByqGSM49
AgEGBSuBBAAiA2IABG0OZ69KtZqwmDohBSGKot0fYRjFrEqY34VZprPAWqWjIEQh
zfuA54fFGQi4GrAcLT7Sft0bLebn+qaA5aLtQcIGJP6v9NSI/+AMJSu7/z0HXUYT
JIrqVpFjRy+MywvisKNmMGQwHQYDVR0OBBYEFCjAzgTmgPdfCzUEFtuUi6NVy3BI
MB8GA1UdIwQYMBaAFJO8ZrgzkR6sLleB0jHWCy3Sed7PMBIGA1UdEwEB/wQIMAYB
Af8CAQAwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA4GMADCBiAJCAXCYCGMW
HV2q6wvG2pleGesIcPfUwj6k1czgr+nHcnMwaLdqAD0/+pfMErJpHjLaChhRdzqM
mcDTsISjjkk8bSdzAkIB2ASq9dvNLmdVI6JaPx/YmABuzwHt8tCiFzNn+589bF+B
C9ztP3x3zM4egCwPK8v06S7bMphPDzu2BrOXP6YSkGQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2TCCAX6gAwIBAgIQFQNKW+7zbg/7d+lTyrIWwDAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTIyMDYwODAwMDAwMFoYDzIwNTIw
NjA3MjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCB0NFQSN0z4lWz/yc36ewrTCzttK/q
FvlaPOKh+T1o6wIhAP0oKKA+cicsDy3Y3n+VlP8eB3PBzMkhvW/9ISXCw+VB
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICXzCCAcGgAwIBAgIQZlrgX7hufvlliU/zGXhixDAKBggqhkjOPQQDBDBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZFSVRJQU4gRklETyBSb290IENBMCAXDTI1MDEwMTAwMDAwMFoYDzIxMjQx
MjMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZFSVRJQU4gRklETyBSb290IENBMIGbMBAGByqG
SM49AgEGBSuBBAAjA4GGAAQAM3K4RlbgKxBsfCjGUQtSK61JCaoM+ZlXBa8SxOHw
AIqbHa1+i7Eo23RGxrfBx8eUBDeEwSLY6yNhMsYMcnhzX8ABea2GAy5Ayd/0o0yT
Xt4NKOgRVktuW7fbAKpOobAerDk7rNOFj5KIafcXym4xAfDpXEPILiqXFpyyRrRM
k/MDayOjQjBAMB0GA1UdDgQWBBSTvGa4M5EerC5XgdIx1gst0nnezzAPBgNVHRMB
Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDBAOBiwAwgYcCQgFe
RCXIxI4lhsJs76K+ZVFWh3bTmcrYE4y36Xda89LG1WjcxmKv1AQuqFN3PQloxRjf
xfhFOqLkq5kGwHR2Sasc8AJBSeUNSjsGUtOObL6E9l1Zf9wk7RSWxHtlsH0GjSrF
0Cb2GWI02VKLWWPweXZSInZpwlNzrCBENpcDm14/OyUPWUg=
-----END CERTIFICATE-----
@@ -0,0 +1,47 @@
Feitian ePass FIDO-NFC (Enterprise Profile) (CTAP2.1, CTAP2.0, U2F)
-------------------------------------------------------------------
-----BEGIN CERTIFICATE-----
MIICXzCCAcGgAwIBAgIQYz/WquPGwjhx9kZGw8AztTAKBggqhkjOPQQDBDBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZFSVRJQU4gRklETyBFQSBSb290MCAXDTI1MDEwMTAwMDAwMFoYDzIxMjQx
MjMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZFSVRJQU4gRklETyBFQSBSb290MIGbMBAGByqG
SM49AgEGBSuBBAAjA4GGAAQAwm/HbN+icnGllPk+jE6WaC4PPgEwTiFtv1HMNVIP
m4LN2I48135T/e08eOym1Cyw7oLuACzj9hpHZ71/+RSGpzIBorebtFOS4h+MxMpE
yKR1SZb1e8gAT1KOmmrodwEhhPRiCga69yonZrK7xLgXOja6t+qGcIGpOZKpaPzG
dTdST1WjQjBAMB0GA1UdDgQWBBTgRW8yfjPdVoWWue+K3Bs+XvaUBDAPBgNVHRMB
Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDBAOBiwAwgYcCQgEk
uc2+EnwH2pCwhDOXzZJR/W6ClQ4rNxqKzN5/TNMahKOUgmAD1/Webjd1yXjHbgvt
odfNmfmWNnMvQ9d13oSojQJBE0BE8bFTgWbKdU1KkjWHPFvlxKydDgftLR5LrhTe
FVIfqKGSfqz8uggqEydPay8uWM5eGy7G7RQye5ryTJ6WxIA=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX+gAwIBAgIRAMs8YXVBoBNuXUjqfCoX7y4wCgYIKoZIzj0EAwIwSzEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYD
VQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDAgFw0yMzAxMDEwMDAwMDBaGA8yMDUy
MTIzMTIzNTk1OVowSzELMAkGA1UEBhMCVVMxHTAbBgNVBAoMFEZlaXRpYW4gVGVj
aG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gRUEgUm9vdDBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABD2LHHAQqYbdR1WZluertM30rWhorYavWmMVa4nd
X9PZwuREpLQ4m1nElqQKMnRE8/4C+Rqwiav+mpI4kxd5e5ujQjBAMB0GA1UdDgQW
BBS3ZZjyGlhZ99N1vLoTPXVUa4ZEYDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAoD+R6kolIWaNJz4hz03D3ges3GbMB
jAWpkOUg9ayFgwIgbEw7AYSyk68OvxgXezgndTRTEuSWT+fdRnLaBNsaTw0=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICWTCCAbugAwIBAgIQKa7u5u13vYmO6A6+k2chhTAKBggqhkjOPQQDAzBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZFSVRJQU4gRklETyBFQSBSb290MCAXDTI1MDEwMTAwMDAwMFoYDzIxMDAx
MjMxMjM1OTU5WjBHMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxGTAXBgNVBAMMEEZFSVRJQU4gRUEgQ0EgMDIwdjAQBgcqhkjOPQIB
BgUrgQQAIgNiAAS/dY9WUiVhoR6A7qGecjHeSuu9HwjHdEt/iOGcPPdSyhlwajDV
F68t9wMN8/5vlIaeKO0rRnFQnmGmmuUouerP2oPJwK+TuLfwDAarqbIHjWRsFuOy
b9z5fckfMfz2QEijZjBkMB0GA1UdDgQWBBSdR5BF7JygJOAF/KB+LlyBMQUBIjAf
BgNVHSMEGDAWgBTgRW8yfjPdVoWWue+K3Bs+XvaUBDASBgNVHRMBAf8ECDAGAQH/
AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwOBiwAwgYcCQgHBtwZDhaMN
Xywzb4hvQx7LNaQW6KxxDO35X0/Bo/Or0GhGuoKiKGn+2pPe4LuSKDH5w6n68Ek8
3Gq54uH6HuB59gJBV6Mu2oZfNmTG0I8z4nr0OlGnjO3YF46TiFUnx0XDbOqisoCr
7TtFVlIXhminPw5T449yqhfpuEBpRqVndw59CUs=
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
Feitian ePass FIDO-NFC Security Key
-----------------------------------
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
Feitian ePass FIDO Security Key
-------------------------------
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
Feitian FIDO Smart Card
-----------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9
D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4
mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
Feitian iePass FIDO Authenticator
---------------------------------
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4
mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9
D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
Feitian MultiPass FIDO Security Key
-----------------------------------
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
FIDO Alliance TruU Sample FIDO2 Authenticator
---------------------------------------------
-----BEGIN CERTIFICATE-----
MIICSzCCAfKgAwIBAgIUW3XK8yywbAWliglixIF63dvqYy8wCgYIKoZIzj0EAwIw
fDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCENvbG9yYWRvMQ8wDQYDVQQHDAZEZW52
ZXIxEzARBgNVBAoMClRydVUsIEluYy4xIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3Ig
QXR0ZXN0YXRpb24xEDAOBgNVBAMMB3RydXUuYWkwIBcNMjMxMTAzMjAzNjUxWhgP
MjA1MzEwMjYyMDM2NTFaMHwxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhDb2xvcmFk
bzEPMA0GA1UEBwwGRGVudmVyMRMwEQYDVQQKDApUcnVVLCBJbmMuMSIwIAYDVQQL
DBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMRAwDgYDVQQDDAd0cnV1LmFpMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENAvbtccMr7j/SRWmqIEZTRWNJyj6msYr
5lGeAgdSGyC9O0356RIecuaViOqz0DxgS1f/5KPbZp1t0yD2fVRX96NQME4wHQYD
VR0OBBYEFA5tL10g88t2qXlPlhISI2dIzlaVMB8GA1UdIwQYMBaAFA5tL10g88t2
qXlPlhISI2dIzlaVMAwGA1UdEwEB/wQCMAAwCgYIKoZIzj0EAwIDRwAwRAIgXfuv
jsp+4v5iGOqngUgOg1hmbgFPFMgIjyWxCKqw/d8CIFimLNXLDIwA+oIbP1yOfqE8
xk6q7/4LWOVYkRALoBC2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
WD9f
-----END CERTIFICATE-----
@@ -0,0 +1,18 @@
FIDO KeyPass S3
---------------
-----BEGIN CERTIFICATE-----
MIICUTCCAfegAwIBAgIJANr5AJZzAkqAMAoGCCqGSM49BAMCMIGEMQswCQYDVQQG
EwJWTjELMAkGA1UECAwCTlMxDzANBgNVBAcMBkhhIE5vaTEQMA4GA1UECgwHTUtH
cm91cDEPMA0GA1UECwwGUm9vdENBMRIwEAYDVQQDDAltay5jb20udm4xIDAeBgkq
hkiG9w0BCQEWEXN1cHBvcnRAbWsuY29tLnZuMB4XDTIwMDUyMDA4MDIxM1oXDTMw
MDUxODA4MDIxM1owgYQxCzAJBgNVBAYTAlZOMQswCQYDVQQIDAJOUzEPMA0GA1UE
BwwGSGEgTm9pMRAwDgYDVQQKDAdNS0dyb3VwMQ8wDQYDVQQLDAZSb290Q0ExEjAQ
BgNVBAMMCW1rLmNvbS52bjEgMB4GCSqGSIb3DQEJARYRc3VwcG9ydEBtay5jb20u
dm4wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARxSlO51jaacrUQnz0OKmxJ60w+
bBQIPnymEb2n1emgAAihfpyaeJHT0rUoDBOxMyFx5ge2Sencl7qE3lpGQpgOo1Aw
TjAdBgNVHQ4EFgQUWpFYQNL/yVph2dirn7c8TYJI6gAwHwYDVR0jBBgwFoAUWpFY
QNL/yVph2dirn7c8TYJI6gAwDAYDVR0TBAUwAwEB/zAKBggqhkjOPQQDAgNIADBF
AiAhS0dx4tO2+bO/inHvw23oQB3KvLIj8nZcmrplSF+LqQIhAOlVOVXfmB0hRI6q
TR6ZO4OMeq20HkWQ1bbLNL02eyMo
-----END CERTIFICATE-----
@@ -0,0 +1,16 @@
Foongtone FIDO Authenticator
----------------------------
-----BEGIN CERTIFICATE-----
MIICAjCCAaegAwIBAgIUUv+y+fjLJYO39KdNRM4MB43MCJcwCgYIKoZIzj0EAwIw
dTELMAkGA1UEBhMCVFcxJjAkBgNVBAoMHUZvb25ndG9uZSBUZWNobm9sb2d5IENv
LixMdGQuMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMRowGAYD
VQQDDBFGb29uZ3RvbmUgRklETyBDQTAgFw0yNDEwMDQwMTIyMTBaGA8yMDc0MDky
MjAxMjIxMFowdTELMAkGA1UEBhMCVFcxJjAkBgNVBAoMHUZvb25ndG9uZSBUZWNo
bm9sb2d5IENvLixMdGQuMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0
aW9uMRowGAYDVQQDDBFGb29uZ3RvbmUgRklETyBDQTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABBssYkuMGt0H6uucEFf0v9KYCsRY3ki0VurBpHPFUZkjxj9JhqQO
K6HPiVat7LG81jCNDWNAdovs2WsDVy+UQYCjEzARMA8GA1UdEwQIMAYBAf8CAQAw
CgYIKoZIzj0EAwIDSQAwRgIhAPFbIWg753lPjWrF66PXmGsKyGzJw7D9Pi+l3rg8
slKZAiEAuOKaiefCvbbuWDG9Xs/jJE352HadoTeCwVxJsIZKo7I=
-----END CERTIFICATE-----
@@ -0,0 +1,40 @@
FT-JCOS FIDO Fingerprint Card
-----------------------------
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK
5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYE
FNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4
mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQsw
CQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNV
BAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgw
MzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNo
bm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZ
sKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYE
FEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9
D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURP
IDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNV
BAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqV
OxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVh
eO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAf
BgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy
0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAb
B0M=
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
G+D BioPromptKeystoreAndroid
----------------------------
-----BEGIN CERTIFICATE-----
MIIBmDCCAT0CBGQdPR0wCgYIKoZIzj0EAwIwVjELMAkGA1UEBhMCSU4xCzAJBgNV
BAgMAk1IMQ0wCwYDVQQHDARQVU5FMQswCQYDVQQKDAJHRDELMAkGA1UECwwCRFMx
ETAPBgNVBAMMCEFVVEhST09UMB4XDTIzMDMyNDA2MDMwOVoXDTQzMDMyNDA2MDMw
OVowVjELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAk1IMQ0wCwYDVQQHDARQVU5FMQsw
CQYDVQQKDAJHRDELMAkGA1UECwwCRFMxETAPBgNVBAMMCEFVVEhST09UMFkwEwYH
KoZIzj0CAQYIKoZIzj0DAQcDQgAESIpI/dKYCDYhzwD2wSfYAOb/nNaiPcWF21vx
Zk/TgD0OJtcD+OPm64nwZdFWSEYSW7iOqnpmJyde8mgr/tnAizAKBggqhkjOPQQD
AgNJADBGAiEA3bvhazQFPwmyXlxK/xCXfh7g1X1EobLC3L+2GORxp7gCIQCfNETX
/m2BebRLXI4LMP1EQGPXFDf7Ok74U7xbiM4VkA==
-----END CERTIFICATE-----
@@ -0,0 +1,17 @@
G+D EMVFIDO AUTHENTICATOR
-------------------------
-----BEGIN CERTIFICATE-----
MIICDTCCAbSgAwIBAgIEWbe/rjAKBggqhkjOPQQDAjCBjjELMAkGA1UEBhMCREUx
EDAOBgNVBAgMB0JhdmFyaWExDzANBgNVBAcMBk11bmljaDEaMBgGA1UECgwRR2ll
c2Vja2UrRGV2cmllbnQxJDAiBgNVBAsMG01vYmlsZSBTZWN1cml0eSBJbm5vdmF0
aW9uczEaMBgGA1UEAwwRRklETy1Ub2tlbnNlcnZlcjEwHhcNMTcwOTEyMTEwOTE1
WhcNMjcwOTEyMTEwOTE1WjCBjjELMAkGA1UEBhMCREUxEDAOBgNVBAgMB0JhdmFy
aWExDzANBgNVBAcMBk11bmljaDEaMBgGA1UECgwRR2llc2Vja2UrRGV2cmllbnQx
JDAiBgNVBAsMG01vYmlsZSBTZWN1cml0eSBJbm5vdmF0aW9uczEaMBgGA1UEAwwR
RklETy1Ub2tlbnNlcnZlcjEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR3/jIC
ILnxti2B+W5rkFVZE0lxUpCnncsMyEW2CewZ0WBHgUdVac40Ro+Shabdt52ZT/nt
5whs0C47QHBKvVzTMAoGCCqGSM49BAMCA0cAMEQCIDDquLuJGraEoVKjjlYrPPgC
pT65LC9QEjlBNLTw18JIAiAJcosa+q5evil79XiC/9qt/PObL2o/jiR+RytWLPdZ
Sw==
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
G+D FaceIDKeychainiOS
---------------------
-----BEGIN CERTIFICATE-----
MIIBmDCCAT0CBGQdPR0wCgYIKoZIzj0EAwIwVjELMAkGA1UEBhMCSU4xCzAJBgNV
BAgMAk1IMQ0wCwYDVQQHDARQVU5FMQswCQYDVQQKDAJHRDELMAkGA1UECwwCRFMx
ETAPBgNVBAMMCEFVVEhST09UMB4XDTIzMDMyNDA2MDMwOVoXDTQzMDMyNDA2MDMw
OVowVjELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAk1IMQ0wCwYDVQQHDARQVU5FMQsw
CQYDVQQKDAJHRDELMAkGA1UECwwCRFMxETAPBgNVBAMMCEFVVEhST09UMFkwEwYH
KoZIzj0CAQYIKoZIzj0DAQcDQgAESIpI/dKYCDYhzwD2wSfYAOb/nNaiPcWF21vx
Zk/TgD0OJtcD+OPm64nwZdFWSEYSW7iOqnpmJyde8mgr/tnAizAKBggqhkjOPQQD
AgNJADBGAiEA3bvhazQFPwmyXlxK/xCXfh7g1X1EobLC3L+2GORxp7gCIQCfNETX
/m2BebRLXI4LMP1EQGPXFDf7Ok74U7xbiM4VkA==
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
G+D FaceKeychainiOS
-------------------
-----BEGIN CERTIFICATE-----
MIIBmDCCAT0CBGQdPR0wCgYIKoZIzj0EAwIwVjELMAkGA1UEBhMCSU4xCzAJBgNV
BAgMAk1IMQ0wCwYDVQQHDARQVU5FMQswCQYDVQQKDAJHRDELMAkGA1UECwwCRFMx
ETAPBgNVBAMMCEFVVEhST09UMB4XDTIzMDMyNDA2MDMwOVoXDTQzMDMyNDA2MDMw
OVowVjELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAk1IMQ0wCwYDVQQHDARQVU5FMQsw
CQYDVQQKDAJHRDELMAkGA1UECwwCRFMxETAPBgNVBAMMCEFVVEhST09UMFkwEwYH
KoZIzj0CAQYIKoZIzj0DAQcDQgAESIpI/dKYCDYhzwD2wSfYAOb/nNaiPcWF21vx
Zk/TgD0OJtcD+OPm64nwZdFWSEYSW7iOqnpmJyde8mgr/tnAizAKBggqhkjOPQQD
AgNJADBGAiEA3bvhazQFPwmyXlxK/xCXfh7g1X1EobLC3L+2GORxp7gCIQCfNETX
/m2BebRLXI4LMP1EQGPXFDf7Ok74U7xbiM4VkA==
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
G+D FaceKeystoreAndroid
-----------------------
-----BEGIN CERTIFICATE-----
MIIBmDCCAT0CBGQdPR0wCgYIKoZIzj0EAwIwVjELMAkGA1UEBhMCSU4xCzAJBgNV
BAgMAk1IMQ0wCwYDVQQHDARQVU5FMQswCQYDVQQKDAJHRDELMAkGA1UECwwCRFMx
ETAPBgNVBAMMCEFVVEhST09UMB4XDTIzMDMyNDA2MDMwOVoXDTQzMDMyNDA2MDMw
OVowVjELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAk1IMQ0wCwYDVQQHDARQVU5FMQsw
CQYDVQQKDAJHRDELMAkGA1UECwwCRFMxETAPBgNVBAMMCEFVVEhST09UMFkwEwYH
KoZIzj0CAQYIKoZIzj0DAQcDQgAESIpI/dKYCDYhzwD2wSfYAOb/nNaiPcWF21vx
Zk/TgD0OJtcD+OPm64nwZdFWSEYSW7iOqnpmJyde8mgr/tnAizAKBggqhkjOPQQD
AgNJADBGAiEA3bvhazQFPwmyXlxK/xCXfh7g1X1EobLC3L+2GORxp7gCIQCfNETX
/m2BebRLXI4LMP1EQGPXFDf7Ok74U7xbiM4VkA==
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
G+D FaceVoiceKeychainiOS
------------------------
-----BEGIN CERTIFICATE-----
MIIBmDCCAT0CBGQdPR0wCgYIKoZIzj0EAwIwVjELMAkGA1UEBhMCSU4xCzAJBgNV
BAgMAk1IMQ0wCwYDVQQHDARQVU5FMQswCQYDVQQKDAJHRDELMAkGA1UECwwCRFMx
ETAPBgNVBAMMCEFVVEhST09UMB4XDTIzMDMyNDA2MDMwOVoXDTQzMDMyNDA2MDMw
OVowVjELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAk1IMQ0wCwYDVQQHDARQVU5FMQsw
CQYDVQQKDAJHRDELMAkGA1UECwwCRFMxETAPBgNVBAMMCEFVVEhST09UMFkwEwYH
KoZIzj0CAQYIKoZIzj0DAQcDQgAESIpI/dKYCDYhzwD2wSfYAOb/nNaiPcWF21vx
Zk/TgD0OJtcD+OPm64nwZdFWSEYSW7iOqnpmJyde8mgr/tnAizAKBggqhkjOPQQD
AgNJADBGAiEA3bvhazQFPwmyXlxK/xCXfh7g1X1EobLC3L+2GORxp7gCIQCfNETX
/m2BebRLXI4LMP1EQGPXFDf7Ok74U7xbiM4VkA==
-----END CERTIFICATE-----
@@ -0,0 +1,14 @@
G+D FaceVoiceKeystoreAndroid
----------------------------
-----BEGIN CERTIFICATE-----
MIIBmDCCAT0CBGQdPR0wCgYIKoZIzj0EAwIwVjELMAkGA1UEBhMCSU4xCzAJBgNV
BAgMAk1IMQ0wCwYDVQQHDARQVU5FMQswCQYDVQQKDAJHRDELMAkGA1UECwwCRFMx
ETAPBgNVBAMMCEFVVEhST09UMB4XDTIzMDMyNDA2MDMwOVoXDTQzMDMyNDA2MDMw
OVowVjELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAk1IMQ0wCwYDVQQHDARQVU5FMQsw
CQYDVQQKDAJHRDELMAkGA1UECwwCRFMxETAPBgNVBAMMCEFVVEhST09UMFkwEwYH
KoZIzj0CAQYIKoZIzj0DAQcDQgAESIpI/dKYCDYhzwD2wSfYAOb/nNaiPcWF21vx
Zk/TgD0OJtcD+OPm64nwZdFWSEYSW7iOqnpmJyde8mgr/tnAizAKBggqhkjOPQQD
AgNJADBGAiEA3bvhazQFPwmyXlxK/xCXfh7g1X1EobLC3L+2GORxp7gCIQCfNETX
/m2BebRLXI4LMP1EQGPXFDf7Ok74U7xbiM4VkA==
-----END CERTIFICATE-----

Some files were not shown because too many files have changed in this diff Show More