Nothing
context("Sodium Compatibility")
test_that("Signatures are compatible with sodium", {
skip_if_not_installed('sodium')
skip_if(fips_mode())
skip_if_not(openssl_config()$x25519)
# Generate keypair with sodium
sk <- sodium::sig_keygen()
pk <- sodium::sig_pubkey(sk)
msg <- serialize(iris, NULL)
# Parse in openssl
key <- read_ed25519_key(sk)
pubkey <- read_ed25519_pubkey(pk)
# Create sodium signature
sig1 <- sodium::sig_sign(msg, key = sk)
expect_true(sodium::sig_verify(msg, sig1, pk))
expect_true(ed25519_verify(msg, sig1, pubkey = pubkey))
# Create openssl signature
sig2 <- ed25519_sign(msg, key)
expect_true(sodium::sig_verify(msg, sig2, pk))
expect_true(ed25519_verify(msg, sig2, pubkey = pubkey))
})
test_that("Diffie Hellman is compatible with sodium", {
skip_if_not_installed('sodium')
skip_if(fips_mode())
skip_if_not(openssl_config()$x25519)
# Generate keypair with sodium
sk1 <- sodium::keygen()
sk2 <- sodium::keygen()
dh1 <- sodium::diffie_hellman(sk1, sodium::pubkey(sk2))
# Same in openssl
key <- read_x25519_key(sk2)
pubkey <- read_x25519_pubkey(sodium::pubkey(sk1))
dh2 <- x25519_diffie_hellman(key, pubkey)
expect_equal(dh1, dh2)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.