我知道PKCS#7 = Certificate + Optional raw data + Signature in PKCS#1 format我需要从 PKCS#7 签名中提取 PKCS#1,如何在 C# 中执行此操作。我可以使用充气城堡来做到这一点,这是我的实现,即。将 PKCS#7 转换为 ASN.1 并采用最后一个序列,因为它是 PKCS#1
Asn1InputStream asn1 = new Asn1InputStream(pkcs7Stream);
Asn1Sequence sequence = (Asn1Sequence)asn1.ReadObject().ToAsn1Object();
var sequenceString = sequence.ToString();
var lastCommaIndex = sequenceString.LastIndexOf(",");
var pkcs1HexStr = sequenceString.Substring(lastCommaIndex + 3).Replace("]", string.Empty);
Run Code Online (Sandbox Code Playgroud)
有没有其他有效的方法来获取 PKCS#1
我需要在 gorilla mux 中实现不区分大小写的 URL 匹配,因为它是为内置 mux 完成的
我尝试使用这样的中间件来实现相同的目标
router := mux.NewRouter()
router.Use(srv.GetCaseMiddleware())
//GetCaseMiddleware middleware to make match URL case insensitive
func (srv *Server) GetCaseMiddleware() (w mux.MiddlewareFunc) {
var middleware mux.MiddlewareFunc = func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.ToLower(r.URL.Path)
next.ServeHTTP(w, r)
})
}
return middleware
}
Run Code Online (Sandbox Code Playgroud)
但是如果更改 URL 大小写,它仍然会抛出 404,有什么方法可以使用 gorilla-mux 实现它