diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nkeys.zig | 33 |
1 files changed, 6 insertions, 27 deletions
diff --git a/src/nkeys.zig b/src/nkeys.zig index 3b77719..1d15623 100644 --- a/src/nkeys.zig +++ b/src/nkeys.zig | |||
@@ -139,18 +139,11 @@ pub const SeedKeyPair = struct { | |||
139 | return Self{ .role = role, .kp = try Ed25519.KeyPair.create(raw_seed.*) }; | 139 | return Self{ .role = role, .kp = try Ed25519.KeyPair.create(raw_seed.*) }; |
140 | } | 140 | } |
141 | 141 | ||
142 | pub fn sign( | 142 | pub fn sign(self: *const Self, msg: []const u8) SignError![Ed25519.signature_length]u8 { |
143 | self: *const Self, | ||
144 | msg: []const u8, | ||
145 | ) SignError![Ed25519.signature_length]u8 { | ||
146 | return Ed25519.sign(msg, self.kp, null); | 143 | return Ed25519.sign(msg, self.kp, null); |
147 | } | 144 | } |
148 | 145 | ||
149 | pub fn verify( | 146 | pub fn verify(self: *const Self, msg: []const u8, sig: [Ed25519.signature_length]u8) InvalidSignatureError!void { |
150 | self: *const Self, | ||
151 | msg: []const u8, | ||
152 | sig: [Ed25519.signature_length]u8, | ||
153 | ) InvalidSignatureError!void { | ||
154 | Ed25519.verify(sig, msg, self.kp.public_key) catch return error.InvalidSignature; | 147 | Ed25519.verify(sig, msg, self.kp.public_key) catch return error.InvalidSignature; |
155 | } | 148 | } |
156 | 149 | ||
@@ -204,10 +197,7 @@ pub const PublicKey = struct { | |||
204 | }; | 197 | }; |
205 | } | 198 | } |
206 | 199 | ||
207 | pub fn fromRawPublicKey( | 200 | pub fn fromRawPublicKey(role: Role, raw_key: *const [Ed25519.public_length]u8) Self { |
208 | role: Role, | ||
209 | raw_key: *const [Ed25519.public_length]u8, | ||
210 | ) Self { | ||
211 | return Self{ .role = role, .key = raw_key.* }; | 201 | return Self{ .role = role, .key = raw_key.* }; |
212 | } | 202 | } |
213 | 203 | ||
@@ -215,11 +205,7 @@ pub const PublicKey = struct { | |||
215 | return encode(1, self.key.len, &.{self.role.publicPrefixByte()}, &self.key); | 205 | return encode(1, self.key.len, &.{self.role.publicPrefixByte()}, &self.key); |
216 | } | 206 | } |
217 | 207 | ||
218 | pub fn verify( | 208 | pub fn verify(self: *const Self, msg: []const u8, sig: [Ed25519.signature_length]u8) InvalidSignatureError!void { |
219 | self: *const Self, | ||
220 | msg: []const u8, | ||
221 | sig: [Ed25519.signature_length]u8, | ||
222 | ) InvalidSignatureError!void { | ||
223 | Ed25519.verify(sig, msg, self.key) catch return error.InvalidSignature; | 209 | Ed25519.verify(sig, msg, self.key) catch return error.InvalidSignature; |
224 | } | 210 | } |
225 | 211 | ||
@@ -264,18 +250,11 @@ pub const PrivateKey = struct { | |||
264 | return encode(1, self.kp.secret_key.len, &.{prefix_byte_private}, &self.kp.secret_key); | 250 | return encode(1, self.kp.secret_key.len, &.{prefix_byte_private}, &self.kp.secret_key); |
265 | } | 251 | } |
266 | 252 | ||
267 | pub fn sign( | 253 | pub fn sign(self: *const Self, msg: []const u8) SignError![Ed25519.signature_length]u8 { |
268 | self: *const Self, | ||
269 | msg: []const u8, | ||
270 | ) SignError![Ed25519.signature_length]u8 { | ||
271 | return Ed25519.sign(msg, self.kp, null); | 254 | return Ed25519.sign(msg, self.kp, null); |
272 | } | 255 | } |
273 | 256 | ||
274 | pub fn verify( | 257 | pub fn verify(self: *const Self, msg: []const u8, sig: [Ed25519.signature_length]u8) InvalidSignatureError!void { |
275 | self: *const Self, | ||
276 | msg: []const u8, | ||
277 | sig: [Ed25519.signature_length]u8, | ||
278 | ) InvalidSignatureError!void { | ||
279 | Ed25519.verify(sig, msg, self.kp.public_key) catch return error.InvalidSignature; | 258 | Ed25519.verify(sig, msg, self.kp.public_key) catch return error.InvalidSignature; |
280 | } | 259 | } |
281 | 260 | ||