cryptopasser

所属分类:加密解密
开发工具:TypeScript
文件大小:1397KB
下载次数:0
上传日期:2022-10-28 13:09:50
上 传 者sh-1993
说明:  密码传递器,,
(cryptopasser,,)

文件列表:
.eslintrc.js (1317, 2022-10-28)
.prettierrc (175, 2022-10-28)
package-lock.json (1179316, 2022-10-28)
package.json (1713, 2022-10-28)
public (0, 2022-10-28)
public\_redirects (18, 2022-10-28)
public\favicon.ico (15406, 2022-10-28)
public\index.html (1780, 2022-10-28)
public\logo192.png (5347, 2022-10-28)
public\logo512.png (9664, 2022-10-28)
public\manifest.json (492, 2022-10-28)
public\robots.txt (67, 2022-10-28)
screenshots (0, 2022-10-28)
screenshots\diagram.png (68287, 2022-10-28)
screenshots\invalid.png (86825, 2022-10-28)
screenshots\issue.png (47070, 2022-10-28)
screenshots\nft.png (54185, 2022-10-28)
screenshots\saved.png (62105, 2022-10-28)
screenshots\scan.png (218457, 2022-10-28)
screenshots\sign.png (70058, 2022-10-28)
screenshots\token.png (56074, 2022-10-28)
screenshots\valid.png (109095, 2022-10-28)
screenshots\verify_select.png (23060, 2022-10-28)
screenshots\view_import.png (38991, 2022-10-28)
src (0, 2022-10-28)
src\components (0, 2022-10-28)
src\components\Button.tsx (787, 2022-10-28)
src\components\NFTCard.tsx (5171, 2022-10-28)
src\eth (0, 2022-10-28)
src\eth\ens.ts (878, 2022-10-28)
src\eth\opensea.ts (2324, 2022-10-28)
src\eth\swie.ts (1980, 2022-10-28)
src\index.css (366, 2022-10-28)
src\index.tsx (1488, 2022-10-28)
src\logo.svg (2632, 2022-10-28)
src\pages (0, 2022-10-28)
src\pages\DelegatedClient.tsx (8580, 2022-10-28)
... ...

# Cryptopasser ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/valid.png "valid") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/issue.png "Issue") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/saved.png "saved") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/diagram.png "diagram") Cryptopasser is a mobile friendly web app to **issue, sign, store and verify** [EIP-4361 Sign-In with Ethereum](https://github.com/seungjulee/cryptopasser/blob/master/https://eips.ethereum.org/EIPS/eip-4361) authentication certificate token. Cryptopasser works similar to JWT web token. However, for signing and verifying, it uses Ethereum's [EIP-191](https://github.com/seungjulee/cryptopasser/blob/master/https://eips.ethereum.org/EIPS/eip-191), and for data communication, it uses an offline QR code. Two devices (signer and accesor) in an [air-gapped](https://github.com/seungjulee/cryptopasser/blob/master/https://en.wikipedia.org/wiki/Air_gap_%28networking%29) environment can share the access of a wallet from one account by creating a signed [EIP-4361](https://github.com/seungjulee/cryptopasser/blob/master/https://eips.ethereum.org/EIPS/eip-4361) standard authentication certificate. ## Usage This can be useful for the following usage. Imagine you need to prove an ownership of a NFT to gain access to a certain event. You have a hardware wallet that has a valuable NFT. However, you don't want to import your hardware wallet into your mobile device for security issues. With Cryptopasser, you just simply sign the token, save the signed token as a QR code image onto your phone. The event organizer scan the QR code, and verify that 1) you've signed the auth token and 2) you hold ownership of a NFT. ## Demo Fully working demo on [https://cryptopasser.netlify.app](https://github.com/seungjulee/cryptopasser/blob/master/https://cryptopasser.netlify.app) ## Security features - Tokens expire after expiration date - User can specify the specific chain id to make sure the token is only valid for a certain network. - [CSRF protection](https://github.com/seungjulee/cryptopasser/blob/master/https://en.wikipedia.org/wiki/Cross-site_request_forgery). The auth token is only valid on the same domain as the issuing domain. - It run offline. Internet is used only for fetching the NFT ownership - Prevent [replay attacks](https://github.com/seungjulee/cryptopasser/blob/master/https://en.wikipedia.org/wiki/Replay_attack). It can consider a token invalidated after the initial verification. ## Features to implement - [ ] Add ERC20 token verfication mode - [ ] Grant access to a certain NFT or token only not all NFT/token owned by the user - [ ] Invalidate the token to prevent replay attacks (requires database to keep track of nonce) - [ ] Implement own indexer API to check the NFT ownership instead of calling Opensea API - [ ] Save more than one auth token certificate ## Run locally `npm start` ## Pages ### `/issue` (Issue and Sign) ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/issue.png "Issue") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/sign.png "Sign") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/token.png "token") ## `/view` (View and Save) ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/view_import.png "import") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/scan.png "scan") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/saved.png "saved") ## `/verify` (Verify) ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/verify_select.png "verify_select") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/nft.png "nft") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/valid.png "valid") ![alt text](https://github.com/seungjulee/cryptopasser/blob/master/./screenshots/invalid.png "invalid")

近期下载者

相关文件


收藏者