mirror of
				https://github.com/nitnelave/lldap.git
				synced 2023-04-12 14:25:13 +00:00 
			
		
		
		
	Simplify opaque types
This commit is contained in:
		
							parent
							
								
									e4a2540e61
								
							
						
					
					
						commit
						2cf3d2f828
					
				
							
								
								
									
										8
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -1369,6 +1369,7 @@ dependencies = [
 | 
			
		||||
 "serde",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "sqlx",
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -1677,10 +1678,10 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "opaque-ke"
 | 
			
		||||
version = "0.5.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4c5e93081243e35cb270a2812883dcba34121c8d4054f6869149f2c3f7db10e3"
 | 
			
		||||
version = "0.5.1-pre.1"
 | 
			
		||||
source = "git+https://github.com/novifinancial/opaque-ke?rev=cd85efc603f5d98ed794cdd56a6e59236cce3d32#cd85efc603f5d98ed794cdd56a6e59236cce3d32"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "base64",
 | 
			
		||||
 "curve25519-dalek",
 | 
			
		||||
 "digest",
 | 
			
		||||
 "displaydoc",
 | 
			
		||||
@ -1689,6 +1690,7 @@ dependencies = [
 | 
			
		||||
 "hkdf",
 | 
			
		||||
 "hmac",
 | 
			
		||||
 "rand 0.8.3",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "subtle",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,6 @@ jwt = "0.13"
 | 
			
		||||
ldap3_server = "*"
 | 
			
		||||
lldap_model = { path = "model" }
 | 
			
		||||
log = "*"
 | 
			
		||||
opaque-ke = "0.5"
 | 
			
		||||
serde = "*"
 | 
			
		||||
serde_json = "1"
 | 
			
		||||
sha2 = "0.9"
 | 
			
		||||
@ -40,6 +39,11 @@ tracing-log = "*"
 | 
			
		||||
tracing-subscriber = "*"
 | 
			
		||||
rand = { version = "0.8", features = ["small_rng", "getrandom"] }
 | 
			
		||||
 | 
			
		||||
# TODO: update to 0.6 when out.
 | 
			
		||||
[dependencies.opaque-ke]
 | 
			
		||||
git = "https://github.com/novifinancial/opaque-ke"
 | 
			
		||||
rev = "cd85efc603f5d98ed794cdd56a6e59236cce3d32"
 | 
			
		||||
 | 
			
		||||
[dependencies.sqlx]
 | 
			
		||||
version = "0.5.1"
 | 
			
		||||
features = [
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								app/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								app/Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -777,6 +777,7 @@ dependencies = [
 | 
			
		||||
 "serde",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "sqlx",
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -995,10 +996,10 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "opaque-ke"
 | 
			
		||||
version = "0.5.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4c5e93081243e35cb270a2812883dcba34121c8d4054f6869149f2c3f7db10e3"
 | 
			
		||||
version = "0.5.1-pre.1"
 | 
			
		||||
source = "git+https://github.com/novifinancial/opaque-ke?rev=cd85efc603f5d98ed794cdd56a6e59236cce3d32#cd85efc603f5d98ed794cdd56a6e59236cce3d32"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "base64",
 | 
			
		||||
 "curve25519-dalek",
 | 
			
		||||
 "digest",
 | 
			
		||||
 "displaydoc",
 | 
			
		||||
@ -1007,6 +1008,7 @@ dependencies = [
 | 
			
		||||
 "hkdf",
 | 
			
		||||
 "hmac",
 | 
			
		||||
 "rand 0.8.4",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "subtle",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										154
									
								
								model/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										154
									
								
								model/Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -20,9 +20,9 @@ checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ahash"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
version = "0.6.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7f200cbb1e856866d9eade941cf3aa0c5d7dd36f74311c4273b494f4ef036957"
 | 
			
		||||
checksum = "796540673305a66d127804eef19ad696f1f204b8c1025aaca4958c17eab32877"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "getrandom 0.2.2",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
@ -268,26 +268,6 @@ dependencies = [
 | 
			
		||||
 "generic-array",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "dirs"
 | 
			
		||||
version = "3.0.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "dirs-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "dirs-sys"
 | 
			
		||||
version = "0.3.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "redox_users",
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "displaydoc"
 | 
			
		||||
version = "0.1.7"
 | 
			
		||||
@ -612,9 +592,9 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libsqlite3-sys"
 | 
			
		||||
version = "0.22.2"
 | 
			
		||||
version = "0.20.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d"
 | 
			
		||||
checksum = "64d31059f22935e6c31830db5249ba2b7ecd54fd73a9909286f0a67aa55c2fbd"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
 "pkg-config",
 | 
			
		||||
@ -631,11 +611,12 @@ dependencies = [
 | 
			
		||||
 "generic-array",
 | 
			
		||||
 "getrandom 0.2.2",
 | 
			
		||||
 "opaque-ke",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand 0.8.3",
 | 
			
		||||
 "rust-argon2",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "sqlx",
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -748,6 +729,17 @@ dependencies = [
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-bigint"
 | 
			
		||||
version = "0.2.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg 1.0.1",
 | 
			
		||||
 "num-integer",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-bigint"
 | 
			
		||||
version = "0.3.2"
 | 
			
		||||
@ -759,22 +751,11 @@ dependencies = [
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-bigint"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4e0d047c1062aa51e256408c560894e5251f08925980e53cf1aa5bd00eec6512"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg 1.0.1",
 | 
			
		||||
 "num-integer",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-bigint-dig"
 | 
			
		||||
version = "0.7.0"
 | 
			
		||||
version = "0.6.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4547ee5541c18742396ae2c895d0717d0f886d8823b8399cdaf7b07d63ad0480"
 | 
			
		||||
checksum = "5d51546d704f52ef14b3c962b5776e53d5b862e5790e40a350d366c209bd7f7a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg 0.1.7",
 | 
			
		||||
 "byteorder",
 | 
			
		||||
@ -783,7 +764,8 @@ dependencies = [
 | 
			
		||||
 "num-integer",
 | 
			
		||||
 "num-iter",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand 0.7.3",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
]
 | 
			
		||||
@ -816,7 +798,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg 1.0.1",
 | 
			
		||||
 "libm",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@ -843,10 +824,10 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "opaque-ke"
 | 
			
		||||
version = "0.5.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4c5e93081243e35cb270a2812883dcba34121c8d4054f6869149f2c3f7db10e3"
 | 
			
		||||
version = "0.5.1-pre.1"
 | 
			
		||||
source = "git+https://github.com/novifinancial/opaque-ke?rev=cd85efc603f5d98ed794cdd56a6e59236cce3d32#cd85efc603f5d98ed794cdd56a6e59236cce3d32"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "base64",
 | 
			
		||||
 "curve25519-dalek",
 | 
			
		||||
 "digest",
 | 
			
		||||
 "displaydoc",
 | 
			
		||||
@ -854,7 +835,8 @@ dependencies = [
 | 
			
		||||
 "generic-bytes",
 | 
			
		||||
 "hkdf",
 | 
			
		||||
 "hmac",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand 0.8.3",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "subtle",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
@ -995,6 +977,19 @@ version = "0.5.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand"
 | 
			
		||||
version = "0.7.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "getrandom 0.1.16",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "rand_chacha 0.2.2",
 | 
			
		||||
 "rand_core 0.5.1",
 | 
			
		||||
 "rand_hc 0.2.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand"
 | 
			
		||||
version = "0.8.3"
 | 
			
		||||
@ -1002,9 +997,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "rand_chacha",
 | 
			
		||||
 "rand_chacha 0.3.0",
 | 
			
		||||
 "rand_core 0.6.2",
 | 
			
		||||
 "rand_hc",
 | 
			
		||||
 "rand_hc 0.3.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand_chacha"
 | 
			
		||||
version = "0.2.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ppv-lite86",
 | 
			
		||||
 "rand_core 0.5.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@ -1035,6 +1040,15 @@ dependencies = [
 | 
			
		||||
 "getrandom 0.2.2",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand_hc"
 | 
			
		||||
version = "0.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rand_core 0.5.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand_hc"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
@ -1053,16 +1067,6 @@ dependencies = [
 | 
			
		||||
 "bitflags",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "redox_users"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "getrandom 0.2.2",
 | 
			
		||||
 "redox_syscall",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "regex"
 | 
			
		||||
version = "1.5.4"
 | 
			
		||||
@ -1091,9 +1095,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rsa"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "68ef841a26fc5d040ced0417c6c6a64ee851f42489df11cdf0218e545b6f8d28"
 | 
			
		||||
checksum = "3648b669b10afeab18972c105e284a7b953a669b0be3514c27f9b17acab2f9cd"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "byteorder",
 | 
			
		||||
 "digest",
 | 
			
		||||
@ -1103,9 +1107,11 @@ dependencies = [
 | 
			
		||||
 "num-iter",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "pem",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand 0.7.3",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "simple_asn1",
 | 
			
		||||
 "subtle",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -1234,14 +1240,13 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "simple_asn1"
 | 
			
		||||
version = "0.5.2"
 | 
			
		||||
version = "0.4.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6e0e9076e5242ff5a58e854cb478ea9caebce01088f86d3d9c6ad336b7655263"
 | 
			
		||||
checksum = "692ca13de57ce0613a363c8c2f1de925adebc81b04c923ac60c5488bb44abe4b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "chrono",
 | 
			
		||||
 "num-bigint 0.4.0",
 | 
			
		||||
 "num-bigint 0.2.6",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@ -1277,9 +1282,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx"
 | 
			
		||||
version = "0.5.2"
 | 
			
		||||
version = "0.5.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d582b9bc04ec6c03084196efc42c2226b018e9941f03ee62bd88921d500917c0"
 | 
			
		||||
checksum = "c2739d54a2ae9fdd0f545cb4e4b5574efb95e2ec71b7f921678e246fb20dcaaf"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "sqlx-macros",
 | 
			
		||||
@ -1287,11 +1292,11 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-core"
 | 
			
		||||
version = "0.5.2"
 | 
			
		||||
version = "0.5.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "de52d1d473cebb2abb79c886ef6a8023e965e34c0676a99cfeac2cc7f0fde4c1"
 | 
			
		||||
checksum = "b1cad9cae4ca8947eba1a90e8ec7d3c59e7a768e2f120dc9013b669c34a90711"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ahash 0.7.2",
 | 
			
		||||
 "ahash 0.6.3",
 | 
			
		||||
 "atoi",
 | 
			
		||||
 "base64",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
@ -1303,7 +1308,6 @@ dependencies = [
 | 
			
		||||
 "crossbeam-queue",
 | 
			
		||||
 "crossbeam-utils",
 | 
			
		||||
 "digest",
 | 
			
		||||
 "dirs",
 | 
			
		||||
 "either",
 | 
			
		||||
 "futures-channel",
 | 
			
		||||
 "futures-core",
 | 
			
		||||
@ -1322,7 +1326,7 @@ dependencies = [
 | 
			
		||||
 "once_cell",
 | 
			
		||||
 "parking_lot",
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand 0.7.3",
 | 
			
		||||
 "rsa",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "serde_json",
 | 
			
		||||
@ -1340,9 +1344,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-macros"
 | 
			
		||||
version = "0.5.2"
 | 
			
		||||
version = "0.5.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1a40f0be97e704d3fbf059e7e3333c3735639146a72d586c5534c70e79da88a4"
 | 
			
		||||
checksum = "01caee2b3935b4efe152f3262afbe51546ce3b1fc27ad61014e1b3cf5f55366e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "dotenv",
 | 
			
		||||
 "either",
 | 
			
		||||
@ -1359,9 +1363,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-rt"
 | 
			
		||||
version = "0.5.2"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "b6ae97ab05063ed515cdc23d90253213aa24dda0a288c5ec079af3d10f9771bc"
 | 
			
		||||
checksum = "4ce2e16b6774c671cc183e1d202386fdf9cde1e8468c1894a7f2a63eb671c4f4"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "actix-rt",
 | 
			
		||||
 "native-tls",
 | 
			
		||||
@ -1429,7 +1433,7 @@ checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand 0.8.3",
 | 
			
		||||
 "redox_syscall",
 | 
			
		||||
 "remove_dir_all",
 | 
			
		||||
 "winapi",
 | 
			
		||||
 | 
			
		||||
@ -15,12 +15,16 @@ rust-argon2 = "0.8"
 | 
			
		||||
curve25519-dalek = "3"
 | 
			
		||||
digest = "*"
 | 
			
		||||
generic-array = "*"
 | 
			
		||||
opaque-ke = "0.5"
 | 
			
		||||
rand = "0.8"
 | 
			
		||||
serde = "*"
 | 
			
		||||
sha2 = "0.9"
 | 
			
		||||
thiserror = "*"
 | 
			
		||||
 | 
			
		||||
# TODO: update to 0.6 when out.
 | 
			
		||||
[dependencies.opaque-ke]
 | 
			
		||||
git = "https://github.com/novifinancial/opaque-ke"
 | 
			
		||||
rev = "cd85efc603f5d98ed794cdd56a6e59236cce3d32"
 | 
			
		||||
 | 
			
		||||
[dependencies.chrono]
 | 
			
		||||
version = "*"
 | 
			
		||||
features = [ "serde" ]
 | 
			
		||||
@ -37,6 +41,9 @@ features = [
 | 
			
		||||
  "sqlite",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.sqlx-core]
 | 
			
		||||
version = "=0.5.1"
 | 
			
		||||
 | 
			
		||||
# For WASM targets, use the JS getrandom.
 | 
			
		||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.getrandom]
 | 
			
		||||
version = "0.2"
 | 
			
		||||
 | 
			
		||||
@ -95,16 +95,17 @@ pub mod client {
 | 
			
		||||
    /// Methods to register a new user, from the client side.
 | 
			
		||||
    pub mod registration {
 | 
			
		||||
        pub use super::*;
 | 
			
		||||
        pub use opaque_ke::{
 | 
			
		||||
            ClientRegistration, ClientRegistrationFinishParameters, ClientRegistrationFinishResult,
 | 
			
		||||
            ClientRegistrationStartResult, RegistrationResponse,
 | 
			
		||||
        };
 | 
			
		||||
        pub type ClientRegistration = opaque_ke::ClientRegistration<DefaultSuite>;
 | 
			
		||||
        pub type ClientRegistrationStartResult = opaque_ke::ClientRegistrationStartResult<DefaultSuite>;
 | 
			
		||||
        pub type ClientRegistrationFinishResult = opaque_ke::ClientRegistrationFinishResult<DefaultSuite>;
 | 
			
		||||
        pub type RegistrationResponse = opaque_ke::RegistrationResponse<DefaultSuite>;
 | 
			
		||||
        pub use opaque_ke::ClientRegistrationFinishParameters;
 | 
			
		||||
        /// Initiate the registration negotiation.
 | 
			
		||||
        pub fn start_registration<R: RngCore + CryptoRng>(
 | 
			
		||||
            password: &str,
 | 
			
		||||
            rng: &mut R,
 | 
			
		||||
        ) -> AuthenticationResult<ClientRegistrationStartResult<DefaultSuite>> {
 | 
			
		||||
            Ok(ClientRegistration::<DefaultSuite>::start(
 | 
			
		||||
        ) -> AuthenticationResult<ClientRegistrationStartResult> {
 | 
			
		||||
            Ok(ClientRegistration::start(
 | 
			
		||||
                rng,
 | 
			
		||||
                password.as_bytes(),
 | 
			
		||||
            )?)
 | 
			
		||||
@ -112,10 +113,10 @@ pub mod client {
 | 
			
		||||
 | 
			
		||||
        /// Finalize the registration negotiation.
 | 
			
		||||
        pub fn finish_registration<R: RngCore + CryptoRng>(
 | 
			
		||||
            registration_start: ClientRegistration<DefaultSuite>,
 | 
			
		||||
            registration_response: RegistrationResponse<DefaultSuite>,
 | 
			
		||||
            registration_start: ClientRegistration,
 | 
			
		||||
            registration_response: RegistrationResponse,
 | 
			
		||||
            rng: &mut R,
 | 
			
		||||
        ) -> AuthenticationResult<ClientRegistrationFinishResult<DefaultSuite>> {
 | 
			
		||||
        ) -> AuthenticationResult<ClientRegistrationFinishResult> {
 | 
			
		||||
            Ok(registration_start.finish(
 | 
			
		||||
                rng,
 | 
			
		||||
                registration_response,
 | 
			
		||||
@ -127,17 +128,21 @@ pub mod client {
 | 
			
		||||
    /// Methods to login, from the client side.
 | 
			
		||||
    pub mod login {
 | 
			
		||||
        pub use super::*;
 | 
			
		||||
        pub type ClientLogin = opaque_ke::ClientLogin<DefaultSuite>;
 | 
			
		||||
        pub type ClientLoginFinishResult = opaque_ke::ClientLoginFinishResult<DefaultSuite>;
 | 
			
		||||
        pub type ClientLoginStartResult = opaque_ke::ClientLoginStartResult<DefaultSuite>;
 | 
			
		||||
        pub type CredentialResponse = opaque_ke::CredentialResponse<DefaultSuite>;
 | 
			
		||||
        pub use opaque_ke::{
 | 
			
		||||
            ClientLogin, ClientLoginFinishParameters, ClientLoginFinishResult,
 | 
			
		||||
            ClientLoginStartParameters, ClientLoginStartResult, CredentialResponse,
 | 
			
		||||
            ClientLoginFinishParameters,
 | 
			
		||||
            ClientLoginStartParameters,
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        /// Initiate the login negotiation.
 | 
			
		||||
        pub fn start_login<R: RngCore + CryptoRng>(
 | 
			
		||||
            password: &str,
 | 
			
		||||
            rng: &mut R,
 | 
			
		||||
        ) -> AuthenticationResult<ClientLoginStartResult<DefaultSuite>> {
 | 
			
		||||
            Ok(ClientLogin::<DefaultSuite>::start(
 | 
			
		||||
        ) -> AuthenticationResult<ClientLoginStartResult> {
 | 
			
		||||
            Ok(ClientLogin::start(
 | 
			
		||||
                rng,
 | 
			
		||||
                password.as_bytes(),
 | 
			
		||||
                ClientLoginStartParameters::default(),
 | 
			
		||||
@ -146,9 +151,9 @@ pub mod client {
 | 
			
		||||
 | 
			
		||||
        /// Finalize the client login negotiation.
 | 
			
		||||
        pub fn finish_login(
 | 
			
		||||
            login_start: ClientLogin<DefaultSuite>,
 | 
			
		||||
            login_response: CredentialResponse<DefaultSuite>,
 | 
			
		||||
        ) -> AuthenticationResult<ClientLoginFinishResult<DefaultSuite>> {
 | 
			
		||||
            login_start: ClientLogin,
 | 
			
		||||
            login_response: CredentialResponse,
 | 
			
		||||
        ) -> AuthenticationResult<ClientLoginFinishResult> {
 | 
			
		||||
            Ok(login_start.finish(login_response, ClientLoginFinishParameters::default())?)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -159,20 +164,22 @@ pub mod client {
 | 
			
		||||
#[cfg(feature = "opaque_server")]
 | 
			
		||||
pub mod server {
 | 
			
		||||
    pub use super::*;
 | 
			
		||||
    pub use opaque_ke::ServerRegistration;
 | 
			
		||||
    pub type ServerRegistration = opaque_ke::ServerRegistration<DefaultSuite>;
 | 
			
		||||
    /// Methods to register a new user, from the server side.
 | 
			
		||||
    pub mod registration {
 | 
			
		||||
        pub use super::*;
 | 
			
		||||
        pub use opaque_ke::{RegistrationRequest, RegistrationUpload, ServerRegistrationStartResult};
 | 
			
		||||
        pub type RegistrationRequest = opaque_ke::RegistrationRequest<DefaultSuite>;
 | 
			
		||||
        pub type RegistrationUpload = opaque_ke::RegistrationUpload<DefaultSuite>;
 | 
			
		||||
        pub type ServerRegistrationStartResult = opaque_ke::ServerRegistrationStartResult<DefaultSuite>;
 | 
			
		||||
        /// Start a registration process, from a request sent by the client.
 | 
			
		||||
        ///
 | 
			
		||||
        /// The result must be kept for the next step.
 | 
			
		||||
        pub fn start_registration<R: RngCore + CryptoRng>(
 | 
			
		||||
            rng: &mut R,
 | 
			
		||||
            registration_request: RegistrationRequest<DefaultSuite>,
 | 
			
		||||
            registration_request: RegistrationRequest,
 | 
			
		||||
            server_public_key: PublicKey<'_>,
 | 
			
		||||
        ) -> AuthenticationResult<ServerRegistrationStartResult<DefaultSuite>> {
 | 
			
		||||
            Ok(ServerRegistration::<DefaultSuite>::start(
 | 
			
		||||
        ) -> AuthenticationResult<ServerRegistrationStartResult> {
 | 
			
		||||
            Ok(ServerRegistration::start(
 | 
			
		||||
                rng,
 | 
			
		||||
                registration_request,
 | 
			
		||||
                *server_public_key,
 | 
			
		||||
@ -181,9 +188,9 @@ pub mod server {
 | 
			
		||||
 | 
			
		||||
        /// Finish to register a new user, and get the data to store in the database.
 | 
			
		||||
        pub fn get_password_file(
 | 
			
		||||
            registration_start: ServerRegistration<DefaultSuite>,
 | 
			
		||||
            registration_upload: RegistrationUpload<DefaultSuite>,
 | 
			
		||||
        ) -> AuthenticationResult<ServerRegistration<DefaultSuite>> {
 | 
			
		||||
            registration_start: ServerRegistration,
 | 
			
		||||
            registration_upload: RegistrationUpload,
 | 
			
		||||
        ) -> AuthenticationResult<ServerRegistration> {
 | 
			
		||||
            Ok(registration_start.finish(registration_upload)?)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -191,20 +198,22 @@ pub mod server {
 | 
			
		||||
    /// Methods to handle user login, from the server-side.
 | 
			
		||||
    pub mod login {
 | 
			
		||||
        pub use super::*;
 | 
			
		||||
        pub use opaque_ke::{
 | 
			
		||||
            CredentialFinalization, CredentialRequest, ServerLogin, ServerLoginFinishResult,
 | 
			
		||||
            ServerLoginStartParameters, ServerLoginStartResult,
 | 
			
		||||
        };
 | 
			
		||||
        pub type CredentialFinalization = opaque_ke::CredentialFinalization<DefaultSuite>;
 | 
			
		||||
        pub type CredentialRequest = opaque_ke::CredentialRequest<DefaultSuite>;
 | 
			
		||||
        pub type ServerLogin = opaque_ke::ServerLogin<DefaultSuite>;
 | 
			
		||||
        pub type ServerLoginStartResult = opaque_ke::ServerLoginStartResult<DefaultSuite>;
 | 
			
		||||
        pub type ServerLoginFinishResult = opaque_ke::ServerLoginFinishResult<DefaultSuite>;
 | 
			
		||||
        pub use opaque_ke::ServerLoginStartParameters;
 | 
			
		||||
 | 
			
		||||
        /// Start a login process, from a request sent by the client.
 | 
			
		||||
        ///
 | 
			
		||||
        /// The result must be kept for the next step.
 | 
			
		||||
        pub fn start_login<R: RngCore + CryptoRng>(
 | 
			
		||||
            rng: &mut R,
 | 
			
		||||
            password_file: ServerRegistration<DefaultSuite>,
 | 
			
		||||
            password_file: ServerRegistration,
 | 
			
		||||
            server_private_key: PrivateKey<'_>,
 | 
			
		||||
            credential_request: CredentialRequest<DefaultSuite>,
 | 
			
		||||
        ) -> AuthenticationResult<ServerLoginStartResult<DefaultSuite>> {
 | 
			
		||||
            credential_request: CredentialRequest,
 | 
			
		||||
        ) -> AuthenticationResult<ServerLoginStartResult> {
 | 
			
		||||
            Ok(ServerLogin::start(
 | 
			
		||||
                rng,
 | 
			
		||||
                password_file,
 | 
			
		||||
@ -215,9 +224,9 @@ pub mod server {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// Finish to authorize a new user, and get the session key to decrypt associated data.
 | 
			
		||||
        pub fn finalize_login(
 | 
			
		||||
            login_start: ServerLogin<DefaultSuite>,
 | 
			
		||||
            credential_finalization: CredentialFinalization<DefaultSuite>,
 | 
			
		||||
        pub fn finish_login(
 | 
			
		||||
            login_start: ServerLogin,
 | 
			
		||||
            credential_finalization: CredentialFinalization,
 | 
			
		||||
        ) -> AuthenticationResult<ServerLoginFinishResult> {
 | 
			
		||||
            Ok(login_start.finish(credential_finalization)?)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,7 @@ impl SqlBackendHandler {
 | 
			
		||||
fn get_password_file(
 | 
			
		||||
    clear_password: &str,
 | 
			
		||||
    server_public_key: opaque::PublicKey<'_>,
 | 
			
		||||
) -> Result<opaque::server::ServerRegistration<opaque::DefaultSuite>> {
 | 
			
		||||
) -> Result<opaque::server::ServerRegistration> {
 | 
			
		||||
    use opaque::{client, server};
 | 
			
		||||
    let mut rng = rand::rngs::OsRng;
 | 
			
		||||
    let client_register_start_result =
 | 
			
		||||
@ -53,11 +53,11 @@ fn passwords_match(
 | 
			
		||||
    clear_password: &str,
 | 
			
		||||
    server_private_key: opaque::PrivateKey<'_>,
 | 
			
		||||
) -> Result<()> {
 | 
			
		||||
    use opaque::{client, client::login::*, server, server::login::*, DefaultSuite};
 | 
			
		||||
    use opaque::{client, server};
 | 
			
		||||
    let mut rng = rand::rngs::OsRng;
 | 
			
		||||
    let client_login_start_result = client::login::start_login(clear_password, &mut rng)?;
 | 
			
		||||
 | 
			
		||||
    let password_file = ServerRegistration::<DefaultSuite>::deserialize(password_file_bytes)
 | 
			
		||||
    let password_file = server::ServerRegistration::deserialize(password_file_bytes)
 | 
			
		||||
        .map_err(opaque::AuthenticationError::ProtocolError)?;
 | 
			
		||||
    let server_login_start_result = server::login::start_login(
 | 
			
		||||
        &mut rng,
 | 
			
		||||
@ -65,7 +65,7 @@ fn passwords_match(
 | 
			
		||||
        server_private_key,
 | 
			
		||||
        client_login_start_result.message,
 | 
			
		||||
    )?;
 | 
			
		||||
    finish_login(
 | 
			
		||||
    client::login::finish_login(
 | 
			
		||||
        client_login_start_result.state,
 | 
			
		||||
        server_login_start_result.message,
 | 
			
		||||
    )?;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user