The issuer you mentioned, DigiCert SHA2 Assured ID Code Signing CA, is indeed a valid issuer for code signing certificates. DigiCert is a widely recognized Certificate Authority and their certificates are trusted by major platforms including Microsoft.
As for the digest encryption algorithm, SHA-256 (which you referred to as sha256RSA) is a commonly used algorithm for code signing and is accepted by Microsoft.
Regarding having two signatures (SHA-256 and SHA-1) on the DLL, it is possible to dual sign a DLL with both SHA-1 and SHA-256. This is often done to maintain compatibility with older systems that do not support SHA-256. However, since May 9, 2021, Microsoft has been using the SHA-2 algorithm exclusively for all major processes and services, including code signing.
The “unauthenticated attributes” you mentioned typically refer to additional information that is included in the signature but is not directly authenticated by the signature itself. One common use of unauthenticated attributes is for time-stamping. Time-stamping allows Authenticode signatures to be verifiable even after the certificates used for signature have expired. However, without more specific information about the “unauthenticated attributes” in your DLL, it’s hard to say definitively how they might impact Microsoft’s recognition of the signed DLL.
If your signed DLL is not being accepted, it could be due to a variety of factors. If you’re still having trouble, you might want to consult with a software engineer or a professional who has experience with .NET and code signing to help troubleshoot the issue.
Stack Overflow or Microsoft Q&A