@doko/react-native-yubikit 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +126 -0
- package/RNYubikit.podspec +22 -0
- package/android/build.gradle +63 -0
- package/android/src/main/AndroidManifest.xml +9 -0
- package/android/src/main/java/com/yubikit/YubiKitManagerHolder.kt +330 -0
- package/android/src/main/java/com/yubikit/YubikitCoreModule.kt +142 -0
- package/android/src/main/java/com/yubikit/YubikitFidoModule.kt +418 -0
- package/android/src/main/java/com/yubikit/YubikitManagementModule.kt +132 -0
- package/android/src/main/java/com/yubikit/YubikitOathModule.kt +224 -0
- package/android/src/main/java/com/yubikit/YubikitOpenPgpModule.kt +317 -0
- package/android/src/main/java/com/yubikit/YubikitPackage.kt +44 -0
- package/android/src/main/java/com/yubikit/YubikitPivModule.kt +310 -0
- package/android/src/main/java/com/yubikit/YubikitSupportModule.kt +108 -0
- package/android/src/main/java/com/yubikit/YubikitYubiOtpModule.kt +248 -0
- package/android/src/main/java/com/yubikit/utils/YubikitUtils.kt +321 -0
- package/ios/YubikitCore.h +5 -0
- package/ios/YubikitCore.mm +101 -0
- package/ios/YubikitDeviceInfoHelper.h +13 -0
- package/ios/YubikitDeviceInfoHelper.mm +110 -0
- package/ios/YubikitFido.h +5 -0
- package/ios/YubikitFido.mm +373 -0
- package/ios/YubikitManagement.h +5 -0
- package/ios/YubikitManagement.mm +153 -0
- package/ios/YubikitManager.h +27 -0
- package/ios/YubikitManager.m +169 -0
- package/ios/YubikitOath.h +5 -0
- package/ios/YubikitOath.mm +583 -0
- package/ios/YubikitOpenPgp.h +5 -0
- package/ios/YubikitOpenPgp.mm +210 -0
- package/ios/YubikitPiv.h +5 -0
- package/ios/YubikitPiv.mm +813 -0
- package/ios/YubikitSupport.h +5 -0
- package/ios/YubikitSupport.mm +58 -0
- package/ios/YubikitYubiOtp.h +5 -0
- package/ios/YubikitYubiOtp.mm +120 -0
- package/lib/module/core.js +34 -0
- package/lib/module/core.js.map +1 -0
- package/lib/module/fido.js +40 -0
- package/lib/module/fido.js.map +1 -0
- package/lib/module/hooks/index.js +5 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/use-yubikey.js +12 -0
- package/lib/module/hooks/use-yubikey.js.map +1 -0
- package/lib/module/hooks/yubikey-provider.js +85 -0
- package/lib/module/hooks/yubikey-provider.js.map +1 -0
- package/lib/module/index.js +12 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/management.js +17 -0
- package/lib/module/management.js.map +1 -0
- package/lib/module/oath.js +53 -0
- package/lib/module/oath.js.map +1 -0
- package/lib/module/openpgp.js +89 -0
- package/lib/module/openpgp.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/piv.js +71 -0
- package/lib/module/piv.js.map +1 -0
- package/lib/module/specs/NativeYubikitCore.js +10 -0
- package/lib/module/specs/NativeYubikitCore.js.map +1 -0
- package/lib/module/specs/NativeYubikitFido.js +5 -0
- package/lib/module/specs/NativeYubikitFido.js.map +1 -0
- package/lib/module/specs/NativeYubikitManagement.js +5 -0
- package/lib/module/specs/NativeYubikitManagement.js.map +1 -0
- package/lib/module/specs/NativeYubikitOath.js +5 -0
- package/lib/module/specs/NativeYubikitOath.js.map +1 -0
- package/lib/module/specs/NativeYubikitOpenPgp.js +5 -0
- package/lib/module/specs/NativeYubikitOpenPgp.js.map +1 -0
- package/lib/module/specs/NativeYubikitPiv.js +5 -0
- package/lib/module/specs/NativeYubikitPiv.js.map +1 -0
- package/lib/module/specs/NativeYubikitSupport.js +5 -0
- package/lib/module/specs/NativeYubikitSupport.js.map +1 -0
- package/lib/module/specs/NativeYubikitYubiOtp.js +5 -0
- package/lib/module/specs/NativeYubikitYubiOtp.js.map +1 -0
- package/lib/module/support.js +11 -0
- package/lib/module/support.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/yubiotp.js +32 -0
- package/lib/module/yubiotp.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/core.d.ts +14 -0
- package/lib/typescript/src/core.d.ts.map +1 -0
- package/lib/typescript/src/fido.d.ts +24 -0
- package/lib/typescript/src/fido.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +3 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-yubikey.d.ts +3 -0
- package/lib/typescript/src/hooks/use-yubikey.d.ts.map +1 -0
- package/lib/typescript/src/hooks/yubikey-provider.d.ts +23 -0
- package/lib/typescript/src/hooks/yubikey-provider.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +10 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/management.d.ts +8 -0
- package/lib/typescript/src/management.d.ts.map +1 -0
- package/lib/typescript/src/oath.d.ts +20 -0
- package/lib/typescript/src/oath.d.ts.map +1 -0
- package/lib/typescript/src/openpgp.d.ts +35 -0
- package/lib/typescript/src/openpgp.d.ts.map +1 -0
- package/lib/typescript/src/piv.d.ts +26 -0
- package/lib/typescript/src/piv.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeYubikitCore.d.ts +49 -0
- package/lib/typescript/src/specs/NativeYubikitCore.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeYubikitFido.d.ts +121 -0
- package/lib/typescript/src/specs/NativeYubikitFido.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeYubikitManagement.d.ts +53 -0
- package/lib/typescript/src/specs/NativeYubikitManagement.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeYubikitOath.d.ts +70 -0
- package/lib/typescript/src/specs/NativeYubikitOath.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeYubikitOpenPgp.d.ts +53 -0
- package/lib/typescript/src/specs/NativeYubikitOpenPgp.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeYubikitPiv.d.ts +47 -0
- package/lib/typescript/src/specs/NativeYubikitPiv.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeYubikitSupport.d.ts +49 -0
- package/lib/typescript/src/specs/NativeYubikitSupport.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeYubikitYubiOtp.d.ts +45 -0
- package/lib/typescript/src/specs/NativeYubikitYubiOtp.d.ts.map +1 -0
- package/lib/typescript/src/support.d.ts +6 -0
- package/lib/typescript/src/support.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +293 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/yubiotp.d.ts +13 -0
- package/lib/typescript/src/yubiotp.d.ts.map +1 -0
- package/package.json +181 -0
- package/src/core.ts +58 -0
- package/src/fido.ts +112 -0
- package/src/hooks/index.tsx +2 -0
- package/src/hooks/use-yubikey.tsx +10 -0
- package/src/hooks/yubikey-provider.tsx +146 -0
- package/src/index.tsx +10 -0
- package/src/management.ts +44 -0
- package/src/oath.ts +134 -0
- package/src/openpgp.ts +220 -0
- package/src/piv.ts +193 -0
- package/src/specs/NativeYubikitCore.ts +68 -0
- package/src/specs/NativeYubikitFido.ts +149 -0
- package/src/specs/NativeYubikitManagement.ts +78 -0
- package/src/specs/NativeYubikitOath.ts +110 -0
- package/src/specs/NativeYubikitOpenPgp.ts +148 -0
- package/src/specs/NativeYubikitPiv.ts +108 -0
- package/src/specs/NativeYubikitSupport.ts +61 -0
- package/src/specs/NativeYubikitYubiOtp.ts +82 -0
- package/src/support.ts +18 -0
- package/src/types.ts +404 -0
- package/src/yubiotp.ts +96 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#import "YubikitSupport.h"
|
|
2
|
+
#import "YubikitDeviceInfoHelper.h"
|
|
3
|
+
#import "YubikitManager.h"
|
|
4
|
+
#import <YubiKit/YubiKit.h>
|
|
5
|
+
|
|
6
|
+
@implementation YubikitSupport
|
|
7
|
+
|
|
8
|
+
RCT_EXPORT_MODULE(YubikitSupport)
|
|
9
|
+
|
|
10
|
+
- (void)readInfo:(NSString *)deviceHandle
|
|
11
|
+
pid:(NSNumber *)pid
|
|
12
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
13
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
14
|
+
id<YKFConnectionProtocol> connection = [[YubikitManager shared] connectionForHandle:deviceHandle];
|
|
15
|
+
if (connection == nil) {
|
|
16
|
+
reject(@"CONNECTION_ERROR", @"No device found for handle", nil);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[connection managementSession:^(YKFManagementSession *_Nullable session, NSError *_Nullable error) {
|
|
21
|
+
if (error || session == nil) {
|
|
22
|
+
reject(@"SUPPORT_ERROR", error ? error.localizedDescription : @"Management session not available", error);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
[session getDeviceInfoWithCompletion:^(YKFManagementDeviceInfo *_Nullable deviceInfo, NSError *_Nullable error) {
|
|
27
|
+
if (error || deviceInfo == nil) {
|
|
28
|
+
reject(@"SUPPORT_ERROR", error ? error.localizedDescription : @"Failed to read device info", error);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
resolve([YubikitDeviceInfoHelper dictionaryFromDeviceInfo:deviceInfo]);
|
|
33
|
+
}];
|
|
34
|
+
}];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
- (NSString *)getName:(JS::NativeYubikitSupport::DeviceInfo &)info
|
|
38
|
+
keyType:(NSString *)keyType {
|
|
39
|
+
NSString *formFactor = info.formFactor();
|
|
40
|
+
// USB_A_KEYCHAIN and USB_C_KEYCHAIN are shared by both NFC and non-NFC Yubico
|
|
41
|
+
// SKUs, so form factor alone can't tell them apart - hasTransportNfc must be
|
|
42
|
+
// checked, same as the Android SDK's own DeviceUtil.getName() does.
|
|
43
|
+
BOOL hasNfc = info.hasTransportNfc();
|
|
44
|
+
if ([formFactor isEqualToString:@"USB_A_KEYCHAIN"]) return hasNfc ? @"YubiKey 5 NFC" : @"YubiKey 5 A";
|
|
45
|
+
if ([formFactor isEqualToString:@"USB_A_NANO"]) return @"YubiKey 5 Nano";
|
|
46
|
+
if ([formFactor isEqualToString:@"USB_C_KEYCHAIN"]) return hasNfc ? @"YubiKey 5C NFC" : @"YubiKey 5C";
|
|
47
|
+
if ([formFactor isEqualToString:@"USB_C_NANO"]) return @"YubiKey 5C Nano";
|
|
48
|
+
if ([formFactor isEqualToString:@"USB_C_LIGHTNING"]) return @"YubiKey 5Ci";
|
|
49
|
+
if ([formFactor isEqualToString:@"USB_A_BIO"]) return @"YubiKey Bio";
|
|
50
|
+
if ([formFactor isEqualToString:@"USB_C_BIO"]) return @"YubiKey C Bio";
|
|
51
|
+
return @"YubiKey";
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
55
|
+
return std::make_shared<facebook::react::NativeYubikitSupportSpecJSI>(params);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@end
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#import "YubikitYubiOtp.h"
|
|
2
|
+
#import "YubikitManager.h"
|
|
3
|
+
#import <YubiKit/YubiKit.h>
|
|
4
|
+
|
|
5
|
+
@implementation YubikitYubiOtp
|
|
6
|
+
|
|
7
|
+
#pragma mark - Helpers
|
|
8
|
+
|
|
9
|
+
- (id<YKFConnectionProtocol>)connectionForHandle:(NSString *)deviceHandle
|
|
10
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
11
|
+
id<YKFConnectionProtocol> connection = [[YubikitManager shared] connectionForHandle:deviceHandle];
|
|
12
|
+
if (connection == nil) {
|
|
13
|
+
reject(@"CONNECTION_ERROR", @"No device found for handle", nil);
|
|
14
|
+
}
|
|
15
|
+
return connection;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
- (YKFSlot)slotFromString:(NSString *)slot {
|
|
19
|
+
return [slot isEqualToString:@"TWO"] ? YKFSlotTwo : YKFSlotOne;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
RCT_EXPORT_MODULE(YubikitYubiOtp)
|
|
23
|
+
|
|
24
|
+
- (void)getConfigurationState:(NSString *)deviceHandle
|
|
25
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
26
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
27
|
+
reject(@"YUBIOTP_ERROR", @"Not implemented on iOS", nil);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
- (void)getVersion:(NSString *)deviceHandle
|
|
31
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
32
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
33
|
+
reject(@"YUBIOTP_ERROR", @"Not implemented on iOS", nil);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
- (void)getSerialNumber:(NSString *)deviceHandle
|
|
37
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
38
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
39
|
+
reject(@"YUBIOTP_ERROR", @"Not implemented on iOS", nil);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
- (void)swapConfigurations:(NSString *)deviceHandle
|
|
43
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
44
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
45
|
+
reject(@"YUBIOTP_ERROR", @"Not implemented on iOS", nil);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
- (void)deleteConfiguration:(NSString *)deviceHandle
|
|
49
|
+
slot:(NSString *)slot
|
|
50
|
+
currentAccessCode:(NSString *)currentAccessCode
|
|
51
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
52
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
53
|
+
reject(@"YUBIOTP_ERROR", @"Not implemented on iOS", nil);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
- (void)putConfiguration:(NSString *)deviceHandle
|
|
57
|
+
slot:(NSString *)slot
|
|
58
|
+
configuration:(JS::NativeYubikitYubiOtp::OtpSlotConfiguration &)configuration
|
|
59
|
+
accessCode:(NSString *)accessCode
|
|
60
|
+
currentAccessCode:(NSString *)currentAccessCode
|
|
61
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
62
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
63
|
+
reject(@"YUBIOTP_ERROR", @"Not implemented on iOS", nil);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
- (void)updateConfiguration:(NSString *)deviceHandle
|
|
67
|
+
slot:(NSString *)slot
|
|
68
|
+
configuration:(JS::NativeYubikitYubiOtp::OtpSlotConfiguration &)configuration
|
|
69
|
+
accessCode:(NSString *)accessCode
|
|
70
|
+
currentAccessCode:(NSString *)currentAccessCode
|
|
71
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
72
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
73
|
+
reject(@"YUBIOTP_ERROR", @"Not implemented on iOS", nil);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
- (void)setNdefConfiguration:(NSString *)deviceHandle
|
|
77
|
+
slot:(NSString *)slot
|
|
78
|
+
uri:(NSString *)uri
|
|
79
|
+
currentAccessCode:(NSString *)currentAccessCode
|
|
80
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
81
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
82
|
+
reject(@"YUBIOTP_ERROR", @"Not implemented on iOS", nil);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
- (void)calculateHmacSha1:(NSString *)deviceHandle
|
|
86
|
+
slot:(NSString *)slot
|
|
87
|
+
challenge:(NSString *)challenge
|
|
88
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
89
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
90
|
+
id<YKFConnectionProtocol> connection = [self connectionForHandle:deviceHandle reject:reject];
|
|
91
|
+
if (!connection) return;
|
|
92
|
+
|
|
93
|
+
NSData *challengeData = [[NSData alloc] initWithBase64EncodedString:challenge options:0];
|
|
94
|
+
if (challengeData == nil) {
|
|
95
|
+
reject(@"YUBIOTP_ERROR", @"Invalid base64 challenge", nil);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
[connection challengeResponseSession:^(YKFChallengeResponseSession *_Nullable session, NSError *_Nullable error) {
|
|
100
|
+
if (error || session == nil) {
|
|
101
|
+
reject(@"YUBIOTP_ERROR", error ? error.localizedDescription : @"Challenge-response session not available", error);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
[session sendChallenge:challengeData
|
|
105
|
+
slot:[self slotFromString:slot]
|
|
106
|
+
completion:^(NSData *_Nullable response, NSError *_Nullable error) {
|
|
107
|
+
if (error) {
|
|
108
|
+
reject(@"YUBIOTP_ERROR", error.localizedDescription, error);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
resolve([response base64EncodedStringWithOptions:0]);
|
|
112
|
+
}];
|
|
113
|
+
}];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
117
|
+
return std::make_shared<facebook::react::NativeYubikitYubiOtpSpecJSI>(params);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NativeYubikitCore from "./specs/NativeYubikitCore.js";
|
|
4
|
+
export function startUsbDiscovery(config) {
|
|
5
|
+
NativeYubikitCore.startUsbDiscovery(config ?? {});
|
|
6
|
+
}
|
|
7
|
+
export function stopUsbDiscovery() {
|
|
8
|
+
NativeYubikitCore.stopUsbDiscovery();
|
|
9
|
+
}
|
|
10
|
+
export function startNfcDiscovery(config) {
|
|
11
|
+
NativeYubikitCore.startNfcDiscovery(config ?? {});
|
|
12
|
+
}
|
|
13
|
+
export function stopNfcDiscovery() {
|
|
14
|
+
NativeYubikitCore.stopNfcDiscovery();
|
|
15
|
+
}
|
|
16
|
+
export function requestConnection(deviceHandle, connectionType) {
|
|
17
|
+
return NativeYubikitCore.requestConnection(deviceHandle, connectionType);
|
|
18
|
+
}
|
|
19
|
+
export function sendApdu(connectionHandle, apdu) {
|
|
20
|
+
return NativeYubikitCore.sendApdu(connectionHandle, apdu);
|
|
21
|
+
}
|
|
22
|
+
export function closeConnection(connectionHandle) {
|
|
23
|
+
NativeYubikitCore.closeConnection(connectionHandle);
|
|
24
|
+
}
|
|
25
|
+
export function getDiscoveredDevices() {
|
|
26
|
+
return NativeYubikitCore.getDiscoveredDevices();
|
|
27
|
+
}
|
|
28
|
+
export function addYubiKeyListener(listener) {
|
|
29
|
+
return NativeYubikitCore.onYubiKeyEvent(payload => {
|
|
30
|
+
listener(payload);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
export { NativeYubikitCore };
|
|
34
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeYubikitCore","startUsbDiscovery","config","stopUsbDiscovery","startNfcDiscovery","stopNfcDiscovery","requestConnection","deviceHandle","connectionType","sendApdu","connectionHandle","apdu","closeConnection","getDiscoveredDevices","addYubiKeyListener","listener","onYubiKeyEvent","payload"],"sourceRoot":"../../src","sources":["core.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAWzD,OAAO,SAASC,iBAAiBA,CAACC,MAAyB,EAAQ;EACjEF,iBAAiB,CAACC,iBAAiB,CAACC,MAAM,IAAI,CAAC,CAAC,CAAC;AACnD;AAEA,OAAO,SAASC,gBAAgBA,CAAA,EAAS;EACvCH,iBAAiB,CAACG,gBAAgB,CAAC,CAAC;AACtC;AAEA,OAAO,SAASC,iBAAiBA,CAACF,MAAyB,EAAQ;EACjEF,iBAAiB,CAACI,iBAAiB,CAACF,MAAM,IAAI,CAAC,CAAC,CAAC;AACnD;AAEA,OAAO,SAASG,gBAAgBA,CAAA,EAAS;EACvCL,iBAAiB,CAACK,gBAAgB,CAAC,CAAC;AACtC;AAEA,OAAO,SAASC,iBAAiBA,CAC/BC,YAAoB,EACpBC,cAA8B,EACb;EACjB,OAAOR,iBAAiB,CAACM,iBAAiB,CAACC,YAAY,EAAEC,cAAc,CAAC;AAC1E;AAEA,OAAO,SAASC,QAAQA,CACtBC,gBAAwB,EACxBC,IAAkB,EACK;EACvB,OAAOX,iBAAiB,CAACS,QAAQ,CAACC,gBAAgB,EAAEC,IAAI,CAAC;AAC3D;AAEA,OAAO,SAASC,eAAeA,CAACF,gBAAwB,EAAQ;EAC9DV,iBAAiB,CAACY,eAAe,CAACF,gBAAgB,CAAC;AACrD;AAEA,OAAO,SAASG,oBAAoBA,CAAA,EAAoB;EACtD,OAAOb,iBAAiB,CAACa,oBAAoB,CAAC,CAAC;AACjD;AAEA,OAAO,SAASC,kBAAkBA,CAChCC,QAAuC,EACpB;EACnB,OAAOf,iBAAiB,CAACgB,cAAc,CAAEC,OAAO,IAAK;IACnDF,QAAQ,CAACE,OAAkC,CAAC;EAC9C,CAAC,CAAC;AACJ;AAEA,SAASjB,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NativeYubikitFido from "./specs/NativeYubikitFido.js";
|
|
4
|
+
/** COSE algorithm identifiers (RFC 8152 §8), as used in `pubKeyCredParams`. */
|
|
5
|
+
export const COSE_ALGORITHM = {
|
|
6
|
+
ES256: -7,
|
|
7
|
+
ES384: -35,
|
|
8
|
+
ES512: -36,
|
|
9
|
+
RS256: -257,
|
|
10
|
+
EdDSA: -8
|
|
11
|
+
};
|
|
12
|
+
export function getInfo(deviceHandle) {
|
|
13
|
+
return NativeYubikitFido.getInfo(deviceHandle);
|
|
14
|
+
}
|
|
15
|
+
export function makeCredential(deviceHandle, options, effectiveDomain, pin, enterpriseAttestation) {
|
|
16
|
+
return NativeYubikitFido.makeCredential(deviceHandle, options, effectiveDomain, pin, enterpriseAttestation);
|
|
17
|
+
}
|
|
18
|
+
export function getAssertion(deviceHandle, options, effectiveDomain, pin) {
|
|
19
|
+
return NativeYubikitFido.getAssertion(deviceHandle, options, effectiveDomain, pin);
|
|
20
|
+
}
|
|
21
|
+
export function reset(deviceHandle) {
|
|
22
|
+
return NativeYubikitFido.reset(deviceHandle);
|
|
23
|
+
}
|
|
24
|
+
export function getCredentialCount(deviceHandle, pin) {
|
|
25
|
+
return NativeYubikitFido.getCredentialCount(deviceHandle, pin);
|
|
26
|
+
}
|
|
27
|
+
export function getRpIdList(deviceHandle, pin) {
|
|
28
|
+
return NativeYubikitFido.getRpIdList(deviceHandle, pin);
|
|
29
|
+
}
|
|
30
|
+
export function getCredentials(deviceHandle, rpId, pin) {
|
|
31
|
+
return NativeYubikitFido.getCredentials(deviceHandle, rpId, pin);
|
|
32
|
+
}
|
|
33
|
+
export function deleteCredential(deviceHandle, credential, pin) {
|
|
34
|
+
return NativeYubikitFido.deleteCredential(deviceHandle, credential, pin);
|
|
35
|
+
}
|
|
36
|
+
export function updateUserInformation(deviceHandle, credential, user, pin) {
|
|
37
|
+
return NativeYubikitFido.updateUserInformation(deviceHandle, credential, user, pin);
|
|
38
|
+
}
|
|
39
|
+
export { NativeYubikitFido };
|
|
40
|
+
//# sourceMappingURL=fido.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeYubikitFido","COSE_ALGORITHM","ES256","ES384","ES512","RS256","EdDSA","getInfo","deviceHandle","makeCredential","options","effectiveDomain","pin","enterpriseAttestation","getAssertion","reset","getCredentialCount","getRpIdList","getCredentials","rpId","deleteCredential","credential","updateUserInformation","user"],"sourceRoot":"../../src","sources":["fido.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAUzD;AACA,OAAO,MAAMC,cAAc,GAAG;EAC5BC,KAAK,EAAE,CAAC,CAAC;EACTC,KAAK,EAAE,CAAC,EAAE;EACVC,KAAK,EAAE,CAAC,EAAE;EACVC,KAAK,EAAE,CAAC,GAAG;EACXC,KAAK,EAAE,CAAC;AACV,CAAU;AAEV,OAAO,SAASC,OAAOA,CAACC,YAAoB,EAAsB;EAChE,OAAOR,iBAAiB,CAACO,OAAO,CAACC,YAAY,CAAC;AAChD;AAEA,OAAO,SAASC,cAAcA,CAC5BD,YAAoB,EACpBE,OAA2C,EAC3CC,eAAuB,EACvBC,GAAY,EACZC,qBAA8B,EACA;EAC9B,OAAOb,iBAAiB,CAACS,cAAc,CACrCD,YAAY,EACZE,OAAO,EACPC,eAAe,EACfC,GAAG,EACHC,qBACF,CAAC;AACH;AAEA,OAAO,SAASC,YAAYA,CAC1BN,YAAoB,EACpBE,OAA0C,EAC1CC,eAAuB,EACvBC,GAAY,EACkB;EAC9B,OAAOZ,iBAAiB,CAACc,YAAY,CACnCN,YAAY,EACZE,OAAO,EACPC,eAAe,EACfC,GACF,CAAC;AACH;AAEA,OAAO,SAASG,KAAKA,CAACP,YAAoB,EAAiB;EACzD,OAAOR,iBAAiB,CAACe,KAAK,CAACP,YAAY,CAAC;AAC9C;AAEA,OAAO,SAASQ,kBAAkBA,CAChCR,YAAoB,EACpBI,GAAW,EACM;EACjB,OAAOZ,iBAAiB,CAACgB,kBAAkB,CAACR,YAAY,EAAEI,GAAG,CAAC;AAChE;AAEA,OAAO,SAASK,WAAWA,CACzBT,YAAoB,EACpBI,GAAW,EACQ;EACnB,OAAOZ,iBAAiB,CAACiB,WAAW,CAACT,YAAY,EAAEI,GAAG,CAAC;AACzD;AAEA,OAAO,SAASM,cAAcA,CAC5BV,YAAoB,EACpBW,IAAY,EACZP,GAAW,EAMX;EACA,OAAOZ,iBAAiB,CAACkB,cAAc,CAACV,YAAY,EAAEW,IAAI,EAAEP,GAAG,CAAC;AAMlE;AAEA,OAAO,SAASQ,gBAAgBA,CAC9BZ,YAAoB,EACpBa,UAAoC,EACpCT,GAAW,EACI;EACf,OAAOZ,iBAAiB,CAACoB,gBAAgB,CAACZ,YAAY,EAAEa,UAAU,EAAET,GAAG,CAAC;AAC1E;AAEA,OAAO,SAASU,qBAAqBA,CACnCd,YAAoB,EACpBa,UAAoC,EACpCE,IAA8B,EAC9BX,GAAW,EACI;EACf,OAAOZ,iBAAiB,CAACsB,qBAAqB,CAC5Cd,YAAY,EACZa,UAAU,EACVE,IAAI,EACJX,GACF,CAAC;AACH;AAEA,SAASZ,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.tsx"],"mappings":";;AAAA,cAAc,uBAAoB;AAClC,cAAc,kBAAe","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useContext } from 'react';
|
|
4
|
+
import { YubiKeyContext } from "./yubikey-provider.js";
|
|
5
|
+
export function useYubiKey() {
|
|
6
|
+
const ctx = useContext(YubiKeyContext);
|
|
7
|
+
if (!ctx) {
|
|
8
|
+
throw new Error('useYubiKey must be used within a <YubiKeyProvider>');
|
|
9
|
+
}
|
|
10
|
+
return ctx;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=use-yubikey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useContext","YubiKeyContext","useYubiKey","ctx","Error"],"sourceRoot":"../../../src","sources":["hooks/use-yubikey.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,cAAc,QAAkC,uBAAoB;AAE7E,OAAO,SAASC,UAAUA,CAAA,EAAwB;EAChD,MAAMC,GAAG,GAAGH,UAAU,CAACC,cAAc,CAAC;EACtC,IAAI,CAACE,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;EACvE;EACA,OAAOD,GAAG;AACZ","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import * as Core from "../core.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const YubiKeyContext = /*#__PURE__*/createContext(null);
|
|
7
|
+
export function YubiKeyProvider({
|
|
8
|
+
children
|
|
9
|
+
}) {
|
|
10
|
+
const [devices, setDevices] = useState(() => Core.getDiscoveredDevices());
|
|
11
|
+
const [selectedHandle, setSelectedHandle] = useState(null);
|
|
12
|
+
const [isUsbDiscovering, setIsUsbDiscovering] = useState(false);
|
|
13
|
+
const [isNfcDiscovering, setIsNfcDiscovering] = useState(false);
|
|
14
|
+
const [lastError, setLastError] = useState(null);
|
|
15
|
+
const isUsbDiscoveringRef = useRef(isUsbDiscovering);
|
|
16
|
+
const isNfcDiscoveringRef = useRef(isNfcDiscovering);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
isUsbDiscoveringRef.current = isUsbDiscovering;
|
|
19
|
+
}, [isUsbDiscovering]);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
isNfcDiscoveringRef.current = isNfcDiscovering;
|
|
22
|
+
}, [isNfcDiscovering]);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
const subscription = Core.addYubiKeyListener(event => {
|
|
25
|
+
if (event.type === 'attached') {
|
|
26
|
+
setDevices(prev => [event.device, ...prev.filter(d => d.handle !== event.device.handle)]);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (event.type === 'detached') {
|
|
30
|
+
setDevices(prev => prev.filter(d => d.handle !== event.handle));
|
|
31
|
+
setSelectedHandle(prev => prev === event.handle ? null : prev);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
setLastError(event.error);
|
|
35
|
+
});
|
|
36
|
+
return () => subscription.remove();
|
|
37
|
+
}, []);
|
|
38
|
+
const startUsbDiscovery = useCallback(config => {
|
|
39
|
+
Core.startUsbDiscovery(config);
|
|
40
|
+
setIsUsbDiscovering(true);
|
|
41
|
+
}, []);
|
|
42
|
+
const stopUsbDiscovery = useCallback(() => {
|
|
43
|
+
Core.stopUsbDiscovery();
|
|
44
|
+
setIsUsbDiscovering(false);
|
|
45
|
+
}, []);
|
|
46
|
+
const startNfcDiscovery = useCallback(config => {
|
|
47
|
+
Core.startNfcDiscovery(config);
|
|
48
|
+
setIsNfcDiscovering(true);
|
|
49
|
+
}, []);
|
|
50
|
+
const stopNfcDiscovery = useCallback(() => {
|
|
51
|
+
Core.stopNfcDiscovery();
|
|
52
|
+
setIsNfcDiscovering(false);
|
|
53
|
+
}, []);
|
|
54
|
+
|
|
55
|
+
// Discovery is a global, imperative native API (not tied to this component's
|
|
56
|
+
// lifetime by the native side), but leaving it running past the provider that
|
|
57
|
+
// started it would leak a dangling USB/NFC session the app can no longer see.
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
return () => {
|
|
60
|
+
if (isUsbDiscoveringRef.current) Core.stopUsbDiscovery();
|
|
61
|
+
if (isNfcDiscoveringRef.current) Core.stopNfcDiscovery();
|
|
62
|
+
};
|
|
63
|
+
}, []);
|
|
64
|
+
const selectDevice = useCallback(handle => {
|
|
65
|
+
setSelectedHandle(handle);
|
|
66
|
+
}, []);
|
|
67
|
+
const selectedDevice = useMemo(() => devices.find(d => d.handle === selectedHandle) ?? devices[0] ?? null, [devices, selectedHandle]);
|
|
68
|
+
const value = useMemo(() => ({
|
|
69
|
+
devices,
|
|
70
|
+
selectedDevice,
|
|
71
|
+
selectDevice,
|
|
72
|
+
isUsbDiscovering,
|
|
73
|
+
isNfcDiscovering,
|
|
74
|
+
startUsbDiscovery,
|
|
75
|
+
stopUsbDiscovery,
|
|
76
|
+
startNfcDiscovery,
|
|
77
|
+
stopNfcDiscovery,
|
|
78
|
+
lastError
|
|
79
|
+
}), [devices, selectedDevice, selectDevice, isUsbDiscovering, isNfcDiscovering, startUsbDiscovery, stopUsbDiscovery, startNfcDiscovery, stopNfcDiscovery, lastError]);
|
|
80
|
+
return /*#__PURE__*/_jsx(YubiKeyContext.Provider, {
|
|
81
|
+
value: value,
|
|
82
|
+
children: children
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=yubikey-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useEffect","useMemo","useRef","useState","Core","jsx","_jsx","YubiKeyContext","YubiKeyProvider","children","devices","setDevices","getDiscoveredDevices","selectedHandle","setSelectedHandle","isUsbDiscovering","setIsUsbDiscovering","isNfcDiscovering","setIsNfcDiscovering","lastError","setLastError","isUsbDiscoveringRef","isNfcDiscoveringRef","current","subscription","addYubiKeyListener","event","type","prev","device","filter","d","handle","error","remove","startUsbDiscovery","config","stopUsbDiscovery","startNfcDiscovery","stopNfcDiscovery","selectDevice","selectedDevice","find","value","Provider"],"sourceRoot":"../../../src","sources":["hooks/yubikey-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export * from "./types.js";
|
|
4
|
+
export * as Core from "./core.js";
|
|
5
|
+
export * as Management from "./management.js";
|
|
6
|
+
export * as Oath from "./oath.js";
|
|
7
|
+
export * as Piv from "./piv.js";
|
|
8
|
+
export * as OpenPgp from "./openpgp.js";
|
|
9
|
+
export * as YubiOtp from "./yubiotp.js";
|
|
10
|
+
export * as Fido from "./fido.js";
|
|
11
|
+
export * as Support from "./support.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Core","Management","Oath","Piv","OpenPgp","YubiOtp","Fido","Support"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,YAAS;AAEvB,OAAO,KAAKA,IAAI,MAAM,WAAQ;AAC9B,OAAO,KAAKC,UAAU,MAAM,iBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,WAAQ;AAC9B,OAAO,KAAKC,GAAG,MAAM,UAAO;AAC5B,OAAO,KAAKC,OAAO,MAAM,cAAW;AACpC,OAAO,KAAKC,OAAO,MAAM,cAAW;AACpC,OAAO,KAAKC,IAAI,MAAM,WAAQ;AAC9B,OAAO,KAAKC,OAAO,MAAM,cAAW","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NativeYubikitManagement from "./specs/NativeYubikitManagement.js";
|
|
4
|
+
export function getDeviceInfo(deviceHandle) {
|
|
5
|
+
return NativeYubikitManagement.getDeviceInfo(deviceHandle);
|
|
6
|
+
}
|
|
7
|
+
export function updateDeviceConfig(deviceHandle, config, reboot, currentLockCode, newLockCode) {
|
|
8
|
+
return NativeYubikitManagement.updateDeviceConfig(deviceHandle, config, reboot, currentLockCode, newLockCode);
|
|
9
|
+
}
|
|
10
|
+
export function setMode(deviceHandle, mode, chalrespTimeout, autoejectTimeout) {
|
|
11
|
+
return NativeYubikitManagement.setMode(deviceHandle, mode, chalrespTimeout, autoejectTimeout);
|
|
12
|
+
}
|
|
13
|
+
export function deviceReset(deviceHandle) {
|
|
14
|
+
return NativeYubikitManagement.deviceReset(deviceHandle);
|
|
15
|
+
}
|
|
16
|
+
export { NativeYubikitManagement };
|
|
17
|
+
//# sourceMappingURL=management.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeYubikitManagement","getDeviceInfo","deviceHandle","updateDeviceConfig","config","reboot","currentLockCode","newLockCode","setMode","mode","chalrespTimeout","autoejectTimeout","deviceReset"],"sourceRoot":"../../src","sources":["management.ts"],"mappings":";;AAAA,OAAOA,uBAAuB,MAAM,oCAAiC;AAGrE,OAAO,SAASC,aAAaA,CAACC,YAAoB,EAAuB;EACvE,OAAOF,uBAAuB,CAACC,aAAa,CAC1CC,YACF,CAAC;AACH;AAEA,OAAO,SAASC,kBAAkBA,CAChCD,YAAoB,EACpBE,MAAoB,EACpBC,MAAe,EACfC,eAA8B,EAC9BC,WAA0B,EACX;EACf,OAAOP,uBAAuB,CAACG,kBAAkB,CAC/CD,YAAY,EACZE,MAAM,EACNC,MAAM,EACNC,eAAe,EACfC,WACF,CAAC;AACH;AAEA,OAAO,SAASC,OAAOA,CACrBN,YAAoB,EACpBO,IAAa,EACbC,eAAuB,EACvBC,gBAAwB,EACT;EACf,OAAOX,uBAAuB,CAACQ,OAAO,CACpCN,YAAY,EACZO,IAAI,EACJC,eAAe,EACfC,gBACF,CAAC;AACH;AAEA,OAAO,SAASC,WAAWA,CAACV,YAAoB,EAAiB;EAC/D,OAAOF,uBAAuB,CAACY,WAAW,CAACV,YAAY,CAAC;AAC1D;AAEA,SAASF,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NativeYubikitOath from "./specs/NativeYubikitOath.js";
|
|
4
|
+
export function getDeviceId(deviceHandle) {
|
|
5
|
+
return NativeYubikitOath.getDeviceId(deviceHandle);
|
|
6
|
+
}
|
|
7
|
+
export function reset(deviceHandle) {
|
|
8
|
+
return NativeYubikitOath.reset(deviceHandle);
|
|
9
|
+
}
|
|
10
|
+
export function isAccessKeySet(deviceHandle) {
|
|
11
|
+
return NativeYubikitOath.isAccessKeySet(deviceHandle);
|
|
12
|
+
}
|
|
13
|
+
export function isLocked(deviceHandle) {
|
|
14
|
+
return NativeYubikitOath.isLocked(deviceHandle);
|
|
15
|
+
}
|
|
16
|
+
export function unlockWithPassword(deviceHandle, password) {
|
|
17
|
+
return NativeYubikitOath.unlockWithPassword(deviceHandle, password);
|
|
18
|
+
}
|
|
19
|
+
export function unlockWithAccessKey(deviceHandle, accessKey) {
|
|
20
|
+
return NativeYubikitOath.unlockWithAccessKey(deviceHandle, accessKey);
|
|
21
|
+
}
|
|
22
|
+
export function setPassword(deviceHandle, password) {
|
|
23
|
+
return NativeYubikitOath.setPassword(deviceHandle, password);
|
|
24
|
+
}
|
|
25
|
+
export function setAccessKey(deviceHandle, accessKey) {
|
|
26
|
+
return NativeYubikitOath.setAccessKey(deviceHandle, accessKey);
|
|
27
|
+
}
|
|
28
|
+
export function deleteAccessKey(deviceHandle) {
|
|
29
|
+
return NativeYubikitOath.deleteAccessKey(deviceHandle);
|
|
30
|
+
}
|
|
31
|
+
export function getCredentials(deviceHandle) {
|
|
32
|
+
return NativeYubikitOath.getCredentials(deviceHandle);
|
|
33
|
+
}
|
|
34
|
+
export function calculateCodes(deviceHandle, timestamp) {
|
|
35
|
+
return NativeYubikitOath.calculateCodes(deviceHandle, timestamp);
|
|
36
|
+
}
|
|
37
|
+
export function calculateResponse(deviceHandle, credentialId, challenge) {
|
|
38
|
+
return NativeYubikitOath.calculateResponse(deviceHandle, credentialId, challenge);
|
|
39
|
+
}
|
|
40
|
+
export function calculateCode(deviceHandle, credentialId, timestamp) {
|
|
41
|
+
return NativeYubikitOath.calculateCode(deviceHandle, credentialId, timestamp);
|
|
42
|
+
}
|
|
43
|
+
export function putCredential(deviceHandle, credentialData, requireTouch) {
|
|
44
|
+
return NativeYubikitOath.putCredential(deviceHandle, credentialData, requireTouch);
|
|
45
|
+
}
|
|
46
|
+
export function deleteCredential(deviceHandle, credentialId) {
|
|
47
|
+
return NativeYubikitOath.deleteCredential(deviceHandle, credentialId);
|
|
48
|
+
}
|
|
49
|
+
export function renameCredential(deviceHandle, credentialId, newAccountName, newIssuer) {
|
|
50
|
+
return NativeYubikitOath.renameCredential(deviceHandle, credentialId, newAccountName, newIssuer);
|
|
51
|
+
}
|
|
52
|
+
export { NativeYubikitOath };
|
|
53
|
+
//# sourceMappingURL=oath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeYubikitOath","getDeviceId","deviceHandle","reset","isAccessKeySet","isLocked","unlockWithPassword","password","unlockWithAccessKey","accessKey","setPassword","setAccessKey","deleteAccessKey","getCredentials","calculateCodes","timestamp","calculateResponse","credentialId","challenge","calculateCode","putCredential","credentialData","requireTouch","deleteCredential","renameCredential","newAccountName","newIssuer"],"sourceRoot":"../../src","sources":["oath.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAUzD,OAAO,SAASC,WAAWA,CAACC,YAAoB,EAAmB;EACjE,OAAOF,iBAAiB,CAACC,WAAW,CAACC,YAAY,CAAC;AACpD;AAEA,OAAO,SAASC,KAAKA,CAACD,YAAoB,EAAiB;EACzD,OAAOF,iBAAiB,CAACG,KAAK,CAACD,YAAY,CAAC;AAC9C;AAEA,OAAO,SAASE,cAAcA,CAACF,YAAoB,EAAoB;EACrE,OAAOF,iBAAiB,CAACI,cAAc,CAACF,YAAY,CAAC;AACvD;AAEA,OAAO,SAASG,QAAQA,CAACH,YAAoB,EAAoB;EAC/D,OAAOF,iBAAiB,CAACK,QAAQ,CAACH,YAAY,CAAC;AACjD;AAEA,OAAO,SAASI,kBAAkBA,CAChCJ,YAAoB,EACpBK,QAAgB,EACE;EAClB,OAAOP,iBAAiB,CAACM,kBAAkB,CAACJ,YAAY,EAAEK,QAAQ,CAAC;AACrE;AAEA,OAAO,SAASC,mBAAmBA,CACjCN,YAAoB,EACpBO,SAAuB,EACL;EAClB,OAAOT,iBAAiB,CAACQ,mBAAmB,CAACN,YAAY,EAAEO,SAAS,CAAC;AACvE;AAEA,OAAO,SAASC,WAAWA,CACzBR,YAAoB,EACpBK,QAAgB,EACD;EACf,OAAOP,iBAAiB,CAACU,WAAW,CAACR,YAAY,EAAEK,QAAQ,CAAC;AAC9D;AAEA,OAAO,SAASI,YAAYA,CAC1BT,YAAoB,EACpBO,SAAuB,EACR;EACf,OAAOT,iBAAiB,CAACW,YAAY,CAACT,YAAY,EAAEO,SAAS,CAAC;AAChE;AAEA,OAAO,SAASG,eAAeA,CAACV,YAAoB,EAAiB;EACnE,OAAOF,iBAAiB,CAACY,eAAe,CAACV,YAAY,CAAC;AACxD;AAEA,OAAO,SAASW,cAAcA,CAC5BX,YAAoB,EACY;EAChC,OAAOF,iBAAiB,CAACa,cAAc,CACrCX,YACF,CAAC;AACH;AAEA,OAAO,SAASY,cAAcA,CAC5BZ,YAAoB,EACpBa,SAAkB,EACQ;EAC1B,OAAOf,iBAAiB,CAACc,cAAc,CACrCZ,YAAY,EACZa,SACF,CAAC;AACH;AAEA,OAAO,SAASC,iBAAiBA,CAC/Bd,YAAoB,EACpBe,YAA0B,EAC1BC,SAAuB,EACA;EACvB,OAAOlB,iBAAiB,CAACgB,iBAAiB,CACxCd,YAAY,EACZe,YAAY,EACZC,SACF,CAAC;AACH;AAEA,OAAO,SAASC,aAAaA,CAC3BjB,YAAoB,EACpBe,YAA0B,EAC1BF,SAAkB,EACH;EACf,OAAOf,iBAAiB,CAACmB,aAAa,CACpCjB,YAAY,EACZe,YAAY,EACZF,SACF,CAAC;AACH;AAEA,OAAO,SAASK,aAAaA,CAC3BlB,YAAoB,EACpBmB,cAA8B,EAC9BC,YAAqB,EACA;EACrB,OAAOtB,iBAAiB,CAACoB,aAAa,CACpClB,YAAY,EACZmB,cAAc,EACdC,YACF,CAAC;AACH;AAEA,OAAO,SAASC,gBAAgBA,CAC9BrB,YAAoB,EACpBe,YAA0B,EACX;EACf,OAAOjB,iBAAiB,CAACuB,gBAAgB,CAACrB,YAAY,EAAEe,YAAY,CAAC;AACvE;AAEA,OAAO,SAASO,gBAAgBA,CAC9BtB,YAAoB,EACpBe,YAA0B,EAC1BQ,cAAsB,EACtBC,SAAkB,EACG;EACrB,OAAO1B,iBAAiB,CAACwB,gBAAgB,CACvCtB,YAAY,EACZe,YAAY,EACZQ,cAAc,EACdC,SACF,CAAC;AACH;AAEA,SAAS1B,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NativeYubikitOpenPgp from "./specs/NativeYubikitOpenPgp.js";
|
|
4
|
+
export function getVersion(deviceHandle) {
|
|
5
|
+
return NativeYubikitOpenPgp.getVersion(deviceHandle);
|
|
6
|
+
}
|
|
7
|
+
export function getApplicationRelatedData(deviceHandle) {
|
|
8
|
+
return NativeYubikitOpenPgp.getApplicationRelatedData(deviceHandle);
|
|
9
|
+
}
|
|
10
|
+
export function verifyUserPin(deviceHandle, pin, extended) {
|
|
11
|
+
return NativeYubikitOpenPgp.verifyUserPin(deviceHandle, pin, extended);
|
|
12
|
+
}
|
|
13
|
+
export function verifyAdminPin(deviceHandle, pin) {
|
|
14
|
+
return NativeYubikitOpenPgp.verifyAdminPin(deviceHandle, pin);
|
|
15
|
+
}
|
|
16
|
+
export function unverifyUserPin(deviceHandle) {
|
|
17
|
+
return NativeYubikitOpenPgp.unverifyUserPin(deviceHandle);
|
|
18
|
+
}
|
|
19
|
+
export function unverifyAdminPin(deviceHandle) {
|
|
20
|
+
return NativeYubikitOpenPgp.unverifyAdminPin(deviceHandle);
|
|
21
|
+
}
|
|
22
|
+
export function getSignatureCounter(deviceHandle) {
|
|
23
|
+
return NativeYubikitOpenPgp.getSignatureCounter(deviceHandle);
|
|
24
|
+
}
|
|
25
|
+
export function getChallenge(deviceHandle, length) {
|
|
26
|
+
return NativeYubikitOpenPgp.getChallenge(deviceHandle, length);
|
|
27
|
+
}
|
|
28
|
+
export function reset(deviceHandle) {
|
|
29
|
+
return NativeYubikitOpenPgp.reset(deviceHandle);
|
|
30
|
+
}
|
|
31
|
+
export function setPinAttempts(deviceHandle, userAttempts, resetAttempts, adminAttempts) {
|
|
32
|
+
return NativeYubikitOpenPgp.setPinAttempts(deviceHandle, userAttempts, resetAttempts, adminAttempts);
|
|
33
|
+
}
|
|
34
|
+
export function changeUserPin(deviceHandle, pin, newPin) {
|
|
35
|
+
return NativeYubikitOpenPgp.changeUserPin(deviceHandle, pin, newPin);
|
|
36
|
+
}
|
|
37
|
+
export function changeAdminPin(deviceHandle, pin, newPin) {
|
|
38
|
+
return NativeYubikitOpenPgp.changeAdminPin(deviceHandle, pin, newPin);
|
|
39
|
+
}
|
|
40
|
+
export function setSignaturePinPolicy(deviceHandle, policy) {
|
|
41
|
+
return NativeYubikitOpenPgp.setSignaturePinPolicy(deviceHandle, policy);
|
|
42
|
+
}
|
|
43
|
+
export function getUif(deviceHandle, keyRef) {
|
|
44
|
+
return NativeYubikitOpenPgp.getUif(deviceHandle, keyRef);
|
|
45
|
+
}
|
|
46
|
+
export function setUif(deviceHandle, keyRef, uif) {
|
|
47
|
+
return NativeYubikitOpenPgp.setUif(deviceHandle, keyRef, uif);
|
|
48
|
+
}
|
|
49
|
+
export function getAlgorithmInformation(deviceHandle) {
|
|
50
|
+
return NativeYubikitOpenPgp.getAlgorithmInformation(deviceHandle);
|
|
51
|
+
}
|
|
52
|
+
export function setAlgorithmAttributes(deviceHandle, keyRef, attributes) {
|
|
53
|
+
return NativeYubikitOpenPgp.setAlgorithmAttributes(deviceHandle, keyRef, attributes);
|
|
54
|
+
}
|
|
55
|
+
export function getCertificate(deviceHandle, keyRef) {
|
|
56
|
+
return NativeYubikitOpenPgp.getCertificate(deviceHandle, keyRef);
|
|
57
|
+
}
|
|
58
|
+
export function putCertificate(deviceHandle, keyRef, certificate) {
|
|
59
|
+
return NativeYubikitOpenPgp.putCertificate(deviceHandle, keyRef, certificate);
|
|
60
|
+
}
|
|
61
|
+
export function deleteCertificate(deviceHandle, keyRef) {
|
|
62
|
+
return NativeYubikitOpenPgp.deleteCertificate(deviceHandle, keyRef);
|
|
63
|
+
}
|
|
64
|
+
export function generateRsaKey(deviceHandle, keyRef, keySize) {
|
|
65
|
+
return NativeYubikitOpenPgp.generateRsaKey(deviceHandle, keyRef, keySize);
|
|
66
|
+
}
|
|
67
|
+
export function generateEcKey(deviceHandle, keyRef, curve) {
|
|
68
|
+
return NativeYubikitOpenPgp.generateEcKey(deviceHandle, keyRef, curve);
|
|
69
|
+
}
|
|
70
|
+
export function getPublicKey(deviceHandle, keyRef) {
|
|
71
|
+
return NativeYubikitOpenPgp.getPublicKey(deviceHandle, keyRef);
|
|
72
|
+
}
|
|
73
|
+
export function deleteKey(deviceHandle, keyRef) {
|
|
74
|
+
return NativeYubikitOpenPgp.deleteKey(deviceHandle, keyRef);
|
|
75
|
+
}
|
|
76
|
+
export function sign(deviceHandle, payload) {
|
|
77
|
+
return NativeYubikitOpenPgp.sign(deviceHandle, payload);
|
|
78
|
+
}
|
|
79
|
+
export function decrypt(deviceHandle, payload) {
|
|
80
|
+
return NativeYubikitOpenPgp.decrypt(deviceHandle, payload);
|
|
81
|
+
}
|
|
82
|
+
export function authenticate(deviceHandle, payload) {
|
|
83
|
+
return NativeYubikitOpenPgp.authenticate(deviceHandle, payload);
|
|
84
|
+
}
|
|
85
|
+
export function attestKey(deviceHandle, keyRef) {
|
|
86
|
+
return NativeYubikitOpenPgp.attestKey(deviceHandle, keyRef);
|
|
87
|
+
}
|
|
88
|
+
export { NativeYubikitOpenPgp };
|
|
89
|
+
//# sourceMappingURL=openpgp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeYubikitOpenPgp","getVersion","deviceHandle","getApplicationRelatedData","verifyUserPin","pin","extended","verifyAdminPin","unverifyUserPin","unverifyAdminPin","getSignatureCounter","getChallenge","length","reset","setPinAttempts","userAttempts","resetAttempts","adminAttempts","changeUserPin","newPin","changeAdminPin","setSignaturePinPolicy","policy","getUif","keyRef","setUif","uif","getAlgorithmInformation","setAlgorithmAttributes","attributes","getCertificate","putCertificate","certificate","deleteCertificate","generateRsaKey","keySize","generateEcKey","curve","getPublicKey","deleteKey","sign","payload","decrypt","authenticate","attestKey"],"sourceRoot":"../../src","sources":["openpgp.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|