SYNRC π¬ CHAT
=============
[](https://github.com/synrc/chat/actions)
[](https://hex.pm/packages/chat)
SYNRC π¬ CHAT Instant Messenger respects IETF 3394 3565 5280 5480 5652 5755 8551 ITU
ASN.1 X.509 CMS PKCS-10 PCKS-7 OCSP LDAP DNS X9-42 X9-62 X25519 X488 SECP384r1
Features
--------
* X.509 CMS Envelope for Key Management;
* MNESIA records delivery system;
* CMP EST for X.509 CA enrollment;
Files
-----
```
βββ config
βΒ Β βββ config.exs
βββ include
βΒ Β βββ CHAT-v2.hrl
βΒ Β βββ meta.hrl
βΒ Β βββ push.hrl
βΒ Β βββ roster.hrl
βββ lib
βΒ Β βββ application.ex
βΒ Β βββ auth.ex
βΒ Β βββ chat.ex
βΒ Β βββ inbox.ex
βΒ Β βββ message.ex
βΒ Β βββ p1.ex
βΒ Β βββ p3.ex
βΒ Β βββ p7.ex
βΒ Β βββ roster.ex
βββ priv
βΒ Β βββ v1
βΒ Β βΒ Β βββ AlgorithmInformation-2009.asn1
βΒ Β βΒ Β βββ CryptographicMessageSyntax-2009.asn1
βΒ Β βΒ Β βββ MESSAGE-v1.asn1
βΒ Β βΒ Β βββ PKIX-CommonTypes-2009.asn1
βΒ Β βΒ Β βββ PKIX1-PSS-OAEP-Algorithms-2009.asn1
βΒ Β βΒ Β βββ PKIX1Explicit-2009.asn1
βΒ Β βΒ Β βββ PKIX1Implicit-2009.asn1
βΒ Β βΒ Β βββ PKIXAlgs-2009.asn1
βΒ Β βββ v2
βΒ Β βββ CHAT-v2.asn1
βΒ Β βββ CryptographicMessageSyntax-2009.asn1
βΒ Β βββ PKCS-10.asn1
βΒ Β βββ PKIX1Explicit-2009.asn1
βΒ Β βββ PKIX1Implicit-2009.asn1
βββ src
βΒ Β βββ CHAT-v2.erl
βββ mix.exs
βββ LICENSE
βββ index.html
βββ README.md
```
CHAT protocol
-------------
* [Zen Crypted Buddha Protocol](https://protocol.zencrypted.uk)
CHAT is a simple instant messaging server based on ISO standards.
It uses ASN.1 defined protocol and DER binary serialization from Erlang/OTP
across applications: MAIL, LDAP, NS, CA. Secure by default.
The CHAT application has Sign/Verify, Encrypt/Decrypt feature enabled for
every single message passed by. The delivered messages are being deleted
from instance after recipient acknowledgment.
This is Keybase, OTR, PGP (you name it) replacement for secure
X.509 ASN.1 defined communications.
CHAT server
-----------
```sh
$ sudo apt install erlang elixir
$ git clone git@github.com:synrc/chat && cd chat
$ mix deps.get
$ mix release
$ _build/dev/rel/chat/bin/chat daemon
$ _build/dev/rel/chat/bin/chat remote
```
```elixir
Erlang/OTP 28 [erts-16.0.2] [source] [64-bit]
[smp:8:8] [ds:8:8:10] [async-threads:1] [jit] [dtrace]
Eshell V16.0.2 (press Ctrl+G to abort, type help(). for help)
iex(1)> :application.which_applications
[
{:chat, 'CHAT X.509 Instant Messenger tcp://chat.erp.uno', '9.1.2'},
{:ssl_verify_fun, 'SSL verification functions for Erlang\n', '1.1.6'},
{:mnesia, 'MNESIA CXC 138 12', '4.20.1'},
{:hex, 'hex', '2.0.0'},
{:inets, 'INETS CXC 138 49', '7.5'},
{:ssl, 'Erlang/OTP SSL application', '10.6.1'},
{:public_key, 'Public key infrastructure', '1.11.3'},
{:asn1, 'The Erlang ASN1 compiler version 5.0.17', '5.0.17'},
{:crypto, 'CRYPTO', '5.0.5'},
{:mix, 'mix', '1.12.2'},
{:iex, 'iex', '1.12.2'},
{:elixir, 'elixir', '1.12.2'},
{:compiler, 'ERTS CXC 138 10', '8.0.4'},
{:stdlib, 'ERTS CXC 138 10', '3.17'},
{:kernel, 'ERTS CXC 138 10', '8.2'}
]
```
Author
------
* ΠΠ°ΠΊΡΠΈΠΌ Π‘ΠΎΡ
Π°ΡΡΠΊΠΈΠΉ