Next: Build a JSP That Reads and Stores X.509 Certs
Now that my OAS 10g R2 10.1.2.0.2 App server is configured for client-side authentication, I am moving on to the next problem, which is figuring out how to register first-time users.
The Oracle Single Sign-On server requires a copy of the client certificate be stored in Oracle Internet Directory. That means each user must have an entry in OID to store the certificate in.
This is sequence of steps required to register a first-time user of our reduced sign-on enabled Forms application:
- User opens JSP
- JSP pulls user's X.509 certificate from the user's browser
- JSP reads user's DN from certificate
- JSP searches for user's DN in OID
- If DN is found, cert is passed to SSO for authentication
- If DN is NOT found, user is redirected to a registration page
- User is prompted for their username (this step requires a personnel record containing the username be created for the user by an administrator in the backend database prior to registration)
- Personnel records searched for username
- If username not found, prompt user to re-enter username or contact administrator
- If username found, create an entry in OID for user containing the following
- DN
- X.509 Cert
- Resource Access Descriptor (database connect string for backend database)
- User logged into account
For experienced programmers, I'm sure this would be a trivial task. But because I've spent 98% of my time configuring and installing database and application servers, this is non-trivial for me. I have downloaded the latest version of JDeveloper, and am refreshing my scant knowledge by re-doing several of the beginning tutorials. Don't know how long this will take, but it at least its something new to work on.
Labels: CAC, JDeveloper, JSP, X509
2 Comments:
How did you go about putting the certificate into OID? Did you write it to a file then LDIF it into OID or did you use a modifyAttributes to put the certificate into OID?
I put the certificate into an ldif like this:
dn: cn=fred.bloggs@oracle.com,cn=users,dc=uk,dc=oracle,dc=com
changetype: modify
replace: usercertificate
usercertificate::MIIDNjCCAp+gAwIBAgIBCDANBgkqhkiG9w0BAQQFADBVMQswCQYDVQQGEwJHQjEPMA0GA1UEChMGT3JhY2xlMRAwDgYDVQQLEwdTdXBwb3J0MSMwIQ
DVQQDExpSdXNzIENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNDAyMjcwOTM0MDdaFw0wNTAyMjYwOTM0MDdaMG4xCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZPcmFjbGUxKT
nBgkqhkiG9w0BCQEWGnJ1c3NlbGwuaG9kZ3NvbkBvcmFjbGUuY29tMSMwIQYDVQQDDBpydXNzZWxsLmhvZGdzb25Ab3JhY2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQ
wgYkCgYEAryt9E90qvq2plReI7lcqA6RWPfQsMl90FnxNuQVX1YQwptSu0K2E3bCMiGfQvWIlq8dZSrL+DxNW5K88/MMXHRKPxUfyR8Yv31Ow7tHqT8SIEisbe0MqYgbMKR
3aaSZD4d1rH1K7NKAHiLrjcpHpwB3kWiPv9yzqjXhrn5ZNxkCAwEAAaOB/DCB+TAMBgNVHQ8EBQMDB+gAMIHoBgNVHR8EgeAwgd0wgdqggdeggdSGgdFsZGFwOi8vdWtwMT
4NDkudWsub3JhY2xlLmNvbS82MzYvY249b2NhMSxjbj1DUkxWYWxpZGF0aW9uLGNuPVZhbGlkYXRpb24sY249UEtJLGNuPVByb2R1Y3RzLGNuPU9yYWNsZUNvbnRleHQ/Y2
ydGlmaWNhdGVyZXZvY2F0aW9ubGlzdD9vbmU/b3JjbFBLSUlzc3VlckROPUNOPVJ1c3MgQ2VydGlmaWNhdGUgQXV0aG9yaXR5LE9VPVN1cHBvcnQsTz1PcmFjbGUsQz1HQj
NBgkqhkiG9w0BAQQFAAOBgQBLXfrZVyjGGFVKnwYWjmH1neNHnA4xc3UHIwQs6ce66tGgBLWrz0mzFsQOjnjE54vEj7N3rN7pfJKydupjaNa7tLX9CzIyw6TnsR94Y0Hc9S
u23cUtwT/j7TIS31nqDccvNW0hYpPSVmhciq0gMMCyfF1nmlSejKtmTx/qmaSkA==
I used the ldapmodify command to load it to the user's entery in OID
Post a Comment
Subscribe to Post Comments [Atom]
<< Home