Vb.net 例外:系统上的服务器上没有此类对象
我尝试使用LDAP获取证书,但有一个异常 System.Runtime.InteropServices.ComeException(0x80072030):系统中的服务器上没有此类对象 我的代码: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
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()。