我正在Fsharp中创建RSA pki,并尝试加载私钥:
let getRsa () =
let rsa = RSA.Create()
let privateKey = getPrivateKey()
let bytesRead = ref 0
match privateKey with
| Some priv ->
rsa.ImportRSAPrivateKey(source = priv, bytesRead = bytesRead)
Some rsa
| None -> None
不幸的是,这没有飞行,因为:
此表达式的类型应为"ReadOnlySpan",但此处具有类型'byte[]'F#编译器(1(
是否有转换为ReadOnlySpa的方法?
您可以通过将字节数组传递到相关构造函数中来创建ReadOnlySpan
:
System.ReadOnlySpan(priv)
似乎以下方法有效:
let spanToROSpan (span : Span<'a>) : ReadOnlySpan<'a> =
Span<_>.op_Implicit(span)
以及后来的
spanToROSpan(priv.AsSpan())