Continue #8
parent
3d700b6157
commit
c998625056
|
@ -76,6 +76,16 @@ describe Sodium::Sign::SecretKey do
|
||||||
message = "foo"
|
message = "foo"
|
||||||
sskey = Sodium::Sign::SecretKey.new
|
sskey = Sodium::Sign::SecretKey.new
|
||||||
cskey = sskey.to_curve25519
|
cskey = sskey.to_curve25519
|
||||||
|
|
||||||
|
spkey = sskey.public_key
|
||||||
|
cpkey = spkey.to_curve25519
|
||||||
|
|
||||||
|
data = "foo".to_slice
|
||||||
|
cskey.box cpkey do |box|
|
||||||
|
enc, nonce = box.encrypt data
|
||||||
|
dec = box.decrypt enc, nonce: nonce
|
||||||
|
dec.should eq data
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it "RbNaCl detached test vectors" do
|
it "RbNaCl detached test vectors" do
|
||||||
|
|
|
@ -35,6 +35,12 @@ module Sodium
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def to_curve25519 : CryptoBox::PublicKey
|
||||||
|
pk = CryptoBox::PublicKey.new
|
||||||
|
LibSodium.crypto_sign_ed25519_pk_to_curve25519 pk.to_slice, @bytes
|
||||||
|
pk
|
||||||
|
end
|
||||||
|
|
||||||
module SerializeConverter
|
module SerializeConverter
|
||||||
def self.to_json(value : PublicKey, json : JSON::Builder)
|
def self.to_json(value : PublicKey, json : JSON::Builder)
|
||||||
json.string Base64.strict_encode(value.to_slice)
|
json.string Base64.strict_encode(value.to_slice)
|
||||||
|
|
Loading…
Reference in New Issue