我是Powershell的新手,我试图使用PKI身份验证来执行安全的LDAP查询。我遇到了如何设置证书和密钥的问题。基于谷歌搜索/研究,我有一些基础知识,例如:如何使用Powershell和PKI进行LDAP查询
$connection = new-object System.DirectoryServices.Protocols.LDAPConnection('$domainName:$portNum')
[string[] $get] = "$attribute1", "$attribute2", "attribute3"
$request = new-object System.DirectoryServices.Protocol.SearchRequest("$targetOu", "$filter", "subtree", $get)
$response = new-object $connection.SendRequest($request)
就像我说的,我陷入了如何设置/发送证书和密钥。我以为我可以做$connection.ClientCertificates = $path
,但该属性是只读的。我还认为我必须用$System.Net.NetworkCredential
做些事情,但我不确定证书和密钥实际上是否与用户名和密码相对应。我提到一个Perl脚本,做了一个LDAP查询和使用PKI,你可以这样做:
clientcert => '/path/to/cert.pem'
clientkey => '/path/to/key.pem'
什么是对PowerShell中的相同呢?我需要用System.Security.Cryptography.X509Certificates.X509Certificate
做点什么吗?
任何帮助,将不胜感激!