internal static extern bool EvpPkeySetDsa(SafeEvpPKeyHandle pkey, SafeDsaHandle key);
internal static extern bool DsaGenerateKey(out SafeDsaHandle dsa, int bits);
internal static extern bool DsaSign(SafeDsaHandle dsa, byte[] hash, int hashLength, byte[] refSignature, out int outSignatureLength);
internal static extern bool DsaVerify(SafeDsaHandle dsa, byte[] hash, int hashLength, byte[] signature, int signatureLength);
private static extern bool DsaSign(SafeDsaHandle dsa, ref byte hash, int hashLength, ref byte refSignature, out int outSignatureLength);
internal static bool DsaVerify(SafeDsaHandle dsa, ReadOnlySpan <byte> hash, int hashLength, ReadOnlySpan <byte> signature, int signatureLength) => DsaVerify(dsa, ref hash.DangerousGetPinnableReference(), hashLength, ref signature.DangerousGetPinnableReference(), signatureLength);
private static partial int DsaVerify(SafeDsaHandle dsa, ref byte hash, int hashLength, ref byte signature, int signatureLength);
private static extern int DsaSizeP(SafeDsaHandle dsa);
internal static partial bool EvpPkeySetDsa(SafeEvpPKeyHandle pkey, SafeDsaHandle key);
private static partial int AndroidCryptoNative_DsaSignatureFieldSize(SafeDsaHandle dsa);
private static extern unsafe bool DsaVerify(SafeDsaHandle dsa, byte *hash, int hashLength, byte *signature, int signatureLength);
private static extern unsafe bool DsaSign(SafeDsaHandle dsa, byte *hash, int hashLength, byte *refSignature, out int outSignatureLength);
internal static bool DsaVerify(SafeDsaHandle dsa, ReadOnlySpan <byte> hash, int hashLength, ReadOnlySpan <byte> signature, int signatureLength) => DsaVerify(dsa, ref MemoryMarshal.GetReference(hash), hashLength, ref MemoryMarshal.GetReference(signature), signatureLength);
private static extern int DsaSizeSignature(SafeDsaHandle dsa);
internal static partial bool DsaGenerateKey(out SafeDsaHandle dsa, int bits);
/// <summary> /// Return the maximum size of the DER-encoded key in bytes. /// </summary> internal static int DsaEncodedSignatureSize(SafeDsaHandle dsa) { int size = DsaSizeSignature(dsa); return(size); }
private static partial int DsaSizeSignature(SafeDsaHandle dsa);
internal static bool DsaSign(SafeDsaHandle dsa, ReadOnlySpan <byte> hash, Span <byte> refSignature, out int outSignatureLength) => DsaSign(dsa, ref MemoryMarshal.GetReference(hash), hash.Length, ref MemoryMarshal.GetReference(refSignature), out outSignatureLength);
private static partial int DsaSizeP(SafeDsaHandle dsa);
private static extern bool DsaVerify(SafeDsaHandle dsa, ref byte hash, int hashLength, ref byte signature, int signatureLength);
internal static bool DsaSign(SafeDsaHandle dsa, ReadOnlySpan <byte> hash, int hashLength, ReadOnlySpan <byte> refSignature, out int outSignatureLength) => DsaSign(dsa, ref hash.DangerousGetPinnableReference(), hashLength, ref refSignature.DangerousGetPinnableReference(), out outSignatureLength);