Nedan beskrivs installation av Shibboleth IdP på en Windows-miljö, direkt kopplad mot ett Active Directory. Vid testinstallationen användes en Windows 2008 R2. Standardbrandvägg med öppning för 8443 och 443.
Följ instruktionerna på Shibboleth-wikin: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPQuickInstall
Sätta JAVA_HOME permanent
- Högerklicka på Computer
- Klicka på Advanced system settings
- Klicka på Environment Variables
- Lägg till JAVA_HOME under System variables
Okänt certifikat för LDAP:en
Om CN för certifikatet som AD/LDAP-servern presenterar inte matchar servernamnet du angett i attribute-resolver.xml och login.xml så kommer ett felmeddelande skrivas i idp-process.log. Lättast sättet att lista ut CN för certifikatet är att köra följande OpenSSL-kommande:
openssl s_client -connect <ldap-servernamn>:636
Om inte OpenSSL finns installerat kan man istället köra dessa PowerShell-kommandon:
# Ange servernamn och port $hostname = "ad.umu.se" $port = 636 # Anslut till servern och hämta certifikatet $socket = New-Object Net.Sockets.TcpClient($hostname, $port) $sslStream = New-Object System.Net.Security.SslStream $socket.getStream(),$false,{$true} $sslStream.AuthenticateAsClient($null) $cert = $sslStream.RemoteCertificate # Skriv ut subject för certifikatet (CN) $cert.Subject # Konvertera certifikatet till DER-format $certData = $cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert) # Skriv ut certifikatet i fil Set-Content -value $certData -Encoding byte -Path "cert.cer" # Konvertera certifikatet till PKCS12-format $certData = $cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12) # Skriv ut certifikatet i fil Set-Content -value $certData -Encoding byte -Path "cert.p12"
Om certifikatet inte är signerad av en för JRE:n känd CA så behöver certifikatet läggas in i cacert för JRE:n. Används cert.cer eller cert.p12 från ovan tillsammans med keytool.
Inloggning misslyckas
Verifiera att baseDN i attribute-resolver.xml och login.config matchar strukturen i AD:t/LDAP:en. Default i AD är "CN=Users,DC=<domain>". Det är också viktigt att man ser till att den användare som man använder för att autentisiera mot AD endast är en läsanvändare och inte en Domain Admin eller dylikt.