我是一名新手在使用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
进行一些操作,但我不确定证书和密钥实际上是否对应于用户名和密码。我参考了一个执行LDAP查询并使用PKI的Perl脚本,你可以这样做:
clientcert => '/path/to/cert.pem'
clientkey => '/path/to/key.pem'
PowerShell的相当之物是什么?我是否需要对 System.Security.Cryptography.X509Certificates.X509Certificate
进行某些操作?
非常感谢您的帮助!