Exemplo n.º 1
0
 public static byte[] ExtractEd25519PublicKeyFromEd25519SecretKey(byte[] ed25519SecretKey)
 {
     if (ed25519SecretKey == null || ed25519SecretKey.Length != 64)
     {
         throw new KeyOutOfRangeException("ed25519SecretKey", (ed25519SecretKey == null) ? 0 : ed25519SecretKey.Length, string.Format("ed25519SecretKey must be {0} bytes in length.", 64));
     }
     byte[] array = new byte[32];
     if (SodiumLibrary.crypto_sign_ed25519_sk_to_pk(array, ed25519SecretKey) != 0)
     {
         throw new CryptographicException("Failed to extract public key from secret key.");
     }
     return(array);
 }