Commit Graph

59 Commits (388f4a3c7fb3c283ea5e99f918ff89e3d98f8626)

Author SHA1 Message Date
Didactic Drunk 388f4a3c7f Add Crystal Digest overrides 2022-07-18 01:36:48 -07:00
Didactic Drunk a2040b54e2 .random Allow specifying the Random source 2022-05-22 22:58:26 -07:00
Didactic Drunk 321db6f397 Documentation 2022-05-22 18:27:59 -07:00
Didactic Drunk 49a999732e Add Crypto::Secret::Guarded
Uses mmap with guard pages

New SecurityLevel: :strong

Adjust security levels <=> secret class mapping
2022-05-22 18:12:01 -07:00
Didactic Drunk 1e60a35fd4 README corrections 2022-05-22 17:58:43 -07:00
Didactic Drunk c7cd7c91eb Config: Split :key in to [:secret_key, :public_key] 2022-05-22 13:33:00 -07:00
Didactic Drunk 9de2acf26a README 2022-05-22 13:32:16 -07:00
Didactic Drunk d4e66d2f16 Formatting 2022-05-22 13:31:15 -07:00
Didactic Drunk 2f49885d79 Add Crypto::Secret.random(size, uses...) 2022-05-21 23:40:46 -07:00
Didactic Drunk 054503db7e Secret: check multiple uses 2022-05-20 13:02:16 -07:00
Didactic Drunk 1c5a444633 Reformat Crypto::Secret::Stateful 2022-05-13 11:04:09 -07:00
Didactic Drunk 80a47aa966 Switch Crypto::Secret from module to abstract class 2022-05-12 10:32:10 -07:00
Didactic Drunk bfbaacab4d Add Crypto::Config
Runtime configuration of which Secret class to use
Remove Secret::Key, Secret::Large
2022-05-12 10:32:10 -07:00
Didactic Drunk 7e91cac498 For @blacksmoke16 2022-05-12 10:32:10 -07:00
Didactic Drunk f20357ca44 Add registration for additional Secret types 2022-05-12 10:32:10 -07:00
Didactic Drunk 3fa87a9481 Github workflow: cron + remove `shards build` 2022-05-11 22:47:55 -07:00
Didactic Drunk a5a5d9de03 Secret: Remove #noaccess with block 2021-06-21 17:40:58 -07:00
Didactic Drunk f9eefbde0e Secret: #readonly, #readwrite, #noaccess add abstract & type restrictions 2021-06-21 17:19:42 -07:00
Didactic Drunk df18ae2bf0 README.md: Finish TODO sections
Secret: Finish copy_from & move_from
2021-06-21 15:45:07 -07:00
Didactic Drunk b0d14168a5 Version 0.2.0 2021-06-21 02:53:45 -07:00
Didactic Drunk 99111aa819 Crypto::Secret Add #copy_from, #move_from
Fix Sodium typo
2021-06-21 02:39:23 -07:00
Didactic Drunk d104b75296 State checking fix 2021-06-17 23:06:44 -07:00
Didactic Drunk 8fb32f3d82 Release 0.1.1 2021-06-17 14:00:08 -07:00
Didactic Drunk 39a5f558b2 Crypto::Secret::Key used Sodium::SecureBuffer when available 2021-06-17 13:04:54 -07:00
Didactic Drunk 8977222b44 More documentation
Implement #reset & #random with specs
2021-06-17 10:20:55 -07:00
Didactic Drunk 363800bf1a README.md: Fix link to "What class should I use?" 2021-06-17 09:47:27 -07:00
Didactic Drunk 973e1ecb4b Add Crypto::Secret::Key & Crypto::Secret::Large 2021-06-17 03:16:34 -07:00
Didactic Drunk 53b44e6ecd Check .dup state when Stateful 2021-06-16 19:47:38 -07:00
Didactic Drunk 0b966714b6 Stateful: Keep state with #dup 2021-06-16 15:17:14 -07:00
Didactic Drunk 70a1dfe2c4 readwrite/readonly/noaccess return self 2021-06-16 15:16:51 -07:00
Didactic Drunk 1cbb5c7b90 to_slice declare protected 2021-06-16 14:21:27 -07:00
Didactic Drunk 13b6c20e7b Update class documentation 2021-06-15 20:19:18 -07:00
Didactic Drunk eb8ca96286 `crystal doc` module workaround 2021-06-15 16:59:48 -07:00
Didactic Drunk 437b3da6b1 README.md: Switch Not to Bidet 2021-06-15 15:55:03 -07:00
Didactic Drunk b765a56073 Spec formatting 2021-06-15 15:45:52 -07:00
Didactic Drunk 0aa93acab0 Remove old spec file 2021-06-15 15:42:53 -07:00
Didactic Drunk 695bad8347 Add default dup implementation 2021-06-15 15:42:01 -07:00
Didactic Drunk f18b3cd6f6 Add Crypto::Secret::Bidet 2021-06-15 15:23:02 -07:00
Didactic Drunk 00274735c3 Add Secret.move_from & Secret.copy_from 2021-06-15 12:06:33 -07:00
Didactic Drunk 46a05f8abd Crypto::Secret::Not Documentation 2021-06-14 17:22:00 -07:00
Didactic Drunk b738cd1e0a Fix Secret.bytesize delegates 2021-06-14 16:54:29 -07:00
Didactic Drunk 4a32468d7d Add ClassMethods 2021-06-14 16:50:32 -07:00
Didactic Drunk 1008e68035 Add Crypto::Secret::Stateful 2021-06-14 13:14:16 -07:00
Didactic Drunk c3829d4ae6 README.md: Add rules 2021-06-14 12:58:16 -07:00
Didactic Drunk 08c94c66a0 Move LibC to lib.cr 2021-06-14 12:21:29 -07:00
Didactic Drunk df977f18e8 Add Crypto::Secret::Stateless 2021-06-14 12:11:44 -07:00
Didactic Drunk 472ed1fc37 Secret: Avoid leaking keys in logs 2021-06-14 11:15:48 -07:00
Didactic Drunk 5293281ca9 Fix Secret::Not 2021-06-14 01:44:17 -07:00
Didactic Drunk 3ddc481422 Implement secure wipe 2021-06-14 01:41:28 -07:00
Didactic Drunk f13bd8de9c README.md: How? When? 2021-06-14 01:41:28 -07:00