Я хочу подключиться к серверу LDAP, используя сертификат .p12 вместо имени пользователя и пароля.Решение Java для этого выглядит так:
String ldapURL = "ldaps://"+host+":"+port;
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12" );
System.setProperty("javax.net.ssl.keyStore",keystore);
System.setProperty("javax.net.ssl.keyStorePassword", keystorePassword);
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, ldapURL);
env.put(Context.SECURITY_PROTOCOL, "ssl");
env.put(Context.REFERRAL, "follow");
try
{
// Create initial context
LdapContext ctx = new InitialLdapContext(env, null);
// Perform client authentication using TLS credentials
ctx.addToEnvironment(Context.SECURITY_AUTHENTICATION, "EXTERNAL");
SearchControls ctls = new SearchControls();
// Specify the search filter to match
String filter = "(objectClass=*)";
// Search for objects using the filter
NamingEnumeration answer = ctx.search("ou="+elemType[i]+","+siteSpecificBaseDN, filter, ctls);
...
Могу ли я сделать то же самое с помощью Python?Я мог только найти примеры, показывающие, как подключиться к серверу LDAP с помощью python-ldap, используя имя пользователя и пароль, но это не то, что мне нужно.Если это невозможно с использованием сертификата .p12, это также поможет мне, если есть решение с использованием сертификатов x509 (формат .pem).