Digest.hx 905 B

12345678910111213141516171819202122
  1. package sys.ssl;
  2. @:coreApi
  3. class Digest {
  4. public static function make( data : haxe.io.Bytes, alg : DigestAlgorithm ) : haxe.io.Bytes {
  5. return haxe.io.Bytes.ofData( dgst_make( data.getData(), untyped alg.__s ) );
  6. }
  7. public static function sign( data : haxe.io.Bytes, privKey : Key, alg : DigestAlgorithm ) : haxe.io.Bytes {
  8. return haxe.io.Bytes.ofData( dgst_sign( data.getData(), @:privateAccess privKey.__k, untyped alg.__s ) );
  9. }
  10. public static function verify( data : haxe.io.Bytes, signature : haxe.io.Bytes, pubKey : Key, alg : DigestAlgorithm ) : Bool{
  11. return dgst_verify( data.getData(), signature.getData(), @:privateAccess pubKey.__k, untyped alg.__s );
  12. }
  13. private static var dgst_make = neko.Lib.loadLazy("ssl","dgst_make",2);
  14. private static var dgst_sign = neko.Lib.loadLazy("ssl","dgst_sign",3);
  15. private static var dgst_verify = neko.Lib.loadLazy("ssl","dgst_verify",4);
  16. }