mirror of
https://github.com/fluencelabs/js-libp2p-crypto
synced 2025-03-15 21:50:54 +00:00
55 lines
2.1 KiB
Markdown
55 lines
2.1 KiB
Markdown
# JavaScript libp2p Crytpo
|
|
|
|
[](http://ipn.io)
|
|
[](http://ipfs.io/)
|
|
[](http://webchat.freenode.net/?channels=%23ipfs)
|
|
[](https://coveralls.io/github/ipfs/js-libp2p-crypto?branch=master)
|
|
[](https://travis-ci.org/ipfs/js-libp2p-crypto)
|
|
[](https://circleci.com/gh/ipfs/js-libp2p-crypto)
|
|
[](https://david-dm.org/ipfs/js-libp2p-crypto) [](https://github.com/feross/standard)
|
|
|
|
> Crypto primitives for libp2p in JavaScript
|
|
|
|
## Description
|
|
|
|
This repo contains the JavaScript implementation of the crypto primitives
|
|
needed for libp2p. This is based on this [go implementation](https://github.com/ipfs/go-libp2p-crypto).
|
|
|
|
|
|
## API
|
|
|
|
|
|
### `generateKeyPair(type, bits, cb)`
|
|
|
|
- `type: String`, only `'RSA'` is currently supported
|
|
- `bits: Number`
|
|
- `cb: Function`, with the signature `function (err, privateKey)`
|
|
|
|
Generates a keypair of the given type and bitsize.
|
|
|
|
### `marshalPublicKey(key[, type])`
|
|
|
|
- `key: crypto.rsa.RsaPublicKey`
|
|
- `type: String`, only `'RSA'` is currently supported
|
|
|
|
Converts a public key object into a protobuf serialized public key.
|
|
|
|
### `unmarshalPublicKey(buf)`
|
|
|
|
- `buf: Buffer`
|
|
|
|
Converts a protobuf serialized public key into its representative object.
|
|
|
|
### `marshalPrivateKey(key[, type])`
|
|
|
|
- `key: crypto.rsa.RsaPrivateKey`
|
|
- `type: String`, only `'RSA'` is currently supported
|
|
|
|
Converts a private key object into a protobuf serialized private key.
|
|
|
|
### `unmarshalPrivateKey(buf)`
|
|
|
|
- `buf: Buffer`
|
|
|
|
Converts a protobuf serialized private key into its representative object.
|