Vb.net 例外:系统上的服务器上没有此类对象

Vb.net 例外:系统上的服务器上没有此类对象,vb.net,ldap,directoryentry,comexception,Vb.net,Ldap,Directoryentry,Comexception,我尝试使用LDAP获取证书,但有一个异常 System.Runtime.InteropServices.ComeException(0x80072030):系统中的服务器上没有此类对象 我的代码: Dim ldapUrl = "LDAP://annuaire.sesam-vitale.fr/cn=amo_pj.test@test.rss.fr,ou=AC-FACTURATION,ou=AC-SESAM-VITALE-2034,o=sesam-vitale,c=fr?userCertificate

我尝试使用LDAP获取证书,但有一个异常

System.Runtime.InteropServices.ComeException(0x80072030):系统中的服务器上没有此类对象

我的代码:

Dim ldapUrl = "LDAP://annuaire.sesam-vitale.fr/cn=amo_pj.test@test.rss.fr,ou=AC-FACTURATION,ou=AC-SESAM-VITALE-2034,o=sesam-vitale,c=fr?userCertificate;binary"

Dim de As DirectoryEntry = New DirectoryEntry(ldapUrl)
de.AuthenticationType = AuthenticationTypes.None
Dim dsearch As DirectorySearcher = New DirectorySearcher(de)
dsearch.Filter = "(objectClass=*)"
Dim rs As SearchResult = dsearch.FindOne()
我在最后一行有这个例外。我不知道,需要你的帮助

多谢各位

(对不起我的英语)

编辑

我要解决我的问题:

Public Function certificatLDAP() As X509Certificate2

        Dim certificat As X509Certificate2 = Nothing

        Dim ldapconn As LdapConnection = New LdapConnection(New LdapDirectoryIdentifier("annuaire.sesam-vitale.fr"))

        Try

            ldapconn.AuthType = AuthType.Anonymous
            ldapconn.SessionOptions.ProtocolVersion = 3


            Dim attribut(1) As String
            attribut(0) = "userCertificate;binary"

            Dim request As SearchRequest = New SearchRequest("cn=amo_pj.test@test.rss.fr,ou=AC-FACTURATION,ou=AC-SESAM-VITALE-2034,o=sesam-vitale,c=fr", "(ObjectClass=*)", Protocols.SearchScope.Base, attribut)

            Dim reponse As SearchResponse = CType(ldapconn.SendRequest(request), SearchResponse)

            For Each test As SearchResultEntry In reponse.Entries
                For Each toto As DictionaryEntry In test.Attributes
                    Dim tata As DirectoryAttribute = toto.Value
                    Dim tutu As Byte() = tata(0)
                    Return New X509Certificate2(tutu)
                Next
            Next

        Catch ex As Exception
            Throw ex
        Finally
            ldapconn.Dispose()
        End Try

        Return certificat
    End Function

尝试删除
?用户证书;来自
ldapUrl
的二进制文件
,查看
rs
是否包含值。我现在有一个新的异常:COMException(0x8007200A):指定的目录服务属性或值不存在哪一行引发此异常?它始终是函数FindOne()。尝试删除
?userCertificate;从
ldapUrl
读取二进制文件
,查看
rs
是否包含值。我现在有一个新的异常:COMException(0x8007200A):指定的目录服务属性或值不存在哪一行引发此异常?它始终是函数FindOne()。