libhalo

所属分类:浏览器
开发工具:JavaScript
文件大小:0KB
下载次数:0
上传日期:2023-08-03 20:22:48
上 传 者sh-1993
说明:  LibHaLo-从web浏览器、移动应用程序或桌面以编程方式与HaLo标记交互。,
(LibHaLo - Programmatically interact with HaLo tags from the web browser, mobile application or the desktop.,)

文件列表:
CODE_OF_CONDUCT.md (5216, 2023-12-09)
CONTRIBUTING.md (1284, 2023-12-09)
LICENSE (1074, 2023-12-09)
SECURITY.md (3133, 2023-12-09)
api/ (0, 2023-12-09)
api/common.js (996, 2023-12-09)
api/desktop.js (591, 2023-12-09)
api/react-native.js (539, 2023-12-09)
api/web.js (1082, 2023-12-09)
cli/ (0, 2023-12-09)
cli/Entitlements.plist (503, 2023-12-09)
cli/actions.js (593, 2023-12-09)
cli/args_bridge.js (1272, 2023-12-09)
cli/args_cli.js (12861, 2023-12-09)
cli/args_gateway.js (710, 2023-12-09)
cli/assets/ (0, 2023-12-09)
cli/assets/static/ (0, 2023-12-09)
cli/assets/static/.empty (0, 2023-12-09)
cli/assets/static/style.css (2379, 2023-12-09)
cli/assets/views/ (0, 2023-12-09)
cli/assets/views/consent.html (2170, 2023-12-09)
cli/assets/views/consent_error.html (1278, 2023-12-09)
cli/assets/views/gateway_executor.html (2943, 2023-12-09)
... ...

# LibHaLo [![Integrity check](https://github.com/arx-research/libhalo/actions/workflows/prod_integrity_check.yml/badge.svg?branch=master)](https://github.com/arx-research/libhalo/actions/workflows/prod_integrity_check.yml) [![Release halocli tool](https://github.com/arx-research/libhalo/actions/workflows/prod_build_cli.yml/badge.svg)](https://github.com/arx-research/libhalo/actions/workflows/prod_build_cli.yml) [![Release libhalo.js](https://github.com/arx-research/libhalo/actions/workflows/prod_build_lib.yml/badge.svg)](https://github.com/arx-research/libhalo/actions/workflows/prod_build_lib.yml) Programmatically interact with [HaLo tags](https://arx.org/?source=gh) from the web browser, mobile application or the desktop. ## Installation **Using NPM:** ``` npm install --save @arx-research/libhalo ``` **Using Yarn:** ``` yarn add @arx-research/libhalo ``` ## Available APIs The library exposes the following API functions: ### (Web browser) execHaloCmdWeb ``` async function execHaloCmdWeb(command, options) ``` For web browser applications: scan the HaLo tag presented to the smartphone, execute the HaLo command and return the result. Supporting Chrome (Android), Safari (iOS) and other browsers. Installation of additional software is not required on the user's side. **Guides:** * [Using libhalo as a standalone library in a classic HTML web application](https://github.com/arx-research/libhalo/blob/master/docs/web-standalone.md) * [Using libhalo within a React.js web application](https://github.com/arx-research/libhalo/blob/master/docs/web-reactjs.md) * [Documentation of the execHaloCmdWeb API](https://github.com/arx-research/libhalo/blob/master/docs/api-web.md) * [Documentation of the utility functions exposed by LibHaLo](https://github.com/arx-research/libhalo/blob/master/docs/api-utils.md) * [Interactive examples of using LibHaLo on web](https://halo-demos.arx.org/examples/) ### (React Native) execHaloCmdRN ``` async function execHaloCmdRN(nfcManager, command, options) ``` For React Native mobile applications (Android/iOS) based on `react-native-nfc-manager` library: scan the HaLo tag presented to the smartphone, execute the HaLo command and return the result. **Guides:** * [Using libhalo within a React Native mobile application for Android/iOS](https://github.com/arx-research/libhalo/blob/master/docs/mobile-react-native.md) * [Documentation of the execHaloCmdRN API](https://github.com/arx-research/libhalo/blob/master/docs/api-react-native.md) * [Documentation of the utility functions exposed by LibHaLo](https://github.com/arx-research/libhalo/blob/master/docs/api-utils.md) * [Interactive examples of using LibHaLo on web](https://halo-demos.arx.org/examples/) ### (Desktop) execHaloCmdPCSC ``` async function execHaloCmdPCSC(command, reader) ``` For desktop applications based on `nfc-pcsc` library: scan the HaLo tag present at the specified `reader`, execute the HaLo command and return the result. **Guides:** * [Using libhalo as a CLI tool on the desktop computer with PC/SC reader (USB NFC reader)](https://github.com/arx-research/libhalo/blob/master/docs/desktop-cli.md) * [Using libhalo to build your own application for desktop computers with PC/SC reader (USB NFC reader)](https://github.com/arx-research/libhalo/blob/master/docs/desktop-pcsc.md) * [Using LibHaLo to build your own application for desktop computers using HaLo Gateway (using remote smartphone as the NFC reader)](https://github.com/arx-research/libhalo/blob/master/docs/desktop-gateway.md) * [Documentation of the execHaloCmdPCSC API](https://github.com/arx-research/libhalo/blob/master/docs/api-pcsc.md) * [Documentation of the utility functions exposed by LibHaLo](https://github.com/arx-research/libhalo/blob/master/docs/api-utils.md) ## Supported HaLo commands This library supports the following HaLo tag commands: * `sign` - sign arbitrary data using ECDSA private key on the NFC tag; * `sign_random` - sign a sequential counter with random pad using ECDSA private key on the NFC tag; * `sign_challenge` - sign a specified challenge using selected key slot on the NFC tag; * `write_latch` - write one-time programmable memory slot on the NFC tag; * `cfg_ndef` - configure the parameters returned in the dynamic URL when the NFC tag is scanned; * `gen_key` - request generation of the key; * `gen_key_confirm` - confirm the generated public key; * `gen_key_finalize` - finish the key generation process; * `get_pkeys` - get tag's public keys #1, #2 and #3; * `get_key_info` - get information about the specified key slot; * `version` - check HaLo tag's firmware version (only for PCSC/React Native); * `read_ndef` - read the dynamic URL generated by the tag (only for PCSC/React Native); Full articles: * [Documentation of the available commands (HaLo Command Set)](https://github.com/arx-research/libhalo/blob/master/docs/halo-command-set.md) * [HaLo Firmware Versions - command compatibility table](https://github.com/arx-research/libhalo/blob/master/docs/firmware-versions.md) * [HaLo Key Slots - description of the available key slots and their functions](https://github.com/arx-research/libhalo/blob/master/docs/key-slots.md) ## Additional tools This project also features additional tools which could increase interoperability. ### HaLo Bridge The Bridge could be used to locally interconnect the USB NFC reader directly with a web application. This allows to execute multiple HaLo commands against multiple tags very quickly. Guides: * [Using HaLo Bridge](https://github.com/arx-research/libhalo/blob/master/docs/halo-bridge.md) ### HaLo Gateway The Gateway could allow to use a compatible web application on the desktop computer, but with your own smartphone instead of the card reader. Guides: * [Using HaLo Gateway](https://github.com/arx-research/libhalo/blob/master/docs/halo-gateway.md)

近期下载者

相关文件


收藏者