Bugs item #1579778, was opened at 2006-10-18 15:23
Message generated for change (Comment added) made by paulz_sci
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=480577&aid=1579778&group_id=55394

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Closed
Resolution: Invalid
Priority: 5
Private: No
Submitted By: Paul Zuefeldt (paulz_sci)
Assigned to: Nobody/Anonymous (nobody)
Summary: Can't modify with userCertificate

Initial Comment:
Modification of an entry fails if a userCertificate  
attribute is involved in the operation, e.g. in 
objectClass=pkiUser.

This is true if I try to add the certificate to the 
entry or if I just try to modify a different 
attribute in an entry that had the userCertificate 
attribute populated with LDIF. 

Once populated using LDIF, JXplorer can read the 
userCertificate and display its contents correctly. 
JXplorer can even save it to file from the entry and 
load it back. But when you click Submit to perform 
the modify you get this:

Unable to perform Modify operation

detail:
javax.naming.directory.InvalidAttributeIdentifierExcep
tion: [LDAP: error code 17 - userCertificate: 
requires ;binary transfer]; remaining 
name 'cn=pkiUser,dc=my-domain,dc=com'
        at com.sun.jndi.ldap.LdapCtx.mapErrorCode
(LdapCtx.java:3054)
        at com.sun.jndi.ldap.LdapCtx.processReturnCode
(LdapCtx.java:2931)
        at com.sun.jndi.ldap.LdapCtx.processReturnCode
(LdapCtx.java:2737)
        at 
com.sun.jndi.ldap.LdapCtx.c_modifyAttributes
(LdapCtx.java:1437)
        at 
com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyA
ttributes(ComponentDirContext.java:255)
        at 
com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.mo
difyAttributes(PartialCompositeDirContext.java:172)
        at 
javax.naming.directory.InitialDirContext.modifyAttribu
tes(InitialDirContext.java:153)
        at 
com.ca.commons.jndi.JNDIOps.modifyAttributes
(JNDIOps.java:714)
        at 
com.ca.directory.jxplorer.broker.CBGraphicsOps.modifyA
ttributes(CBGraphicsOps.java:98)
        at com.ca.commons.naming.DXOps.updateEntry
(DXOps.java:634)
        at com.ca.commons.naming.DXOps.modifyEntry
(DXOps.java:368)
        at 
com.ca.directory.jxplorer.broker.JNDIBroker.unthreaded
Modify(JNDIBroker.java:972)
        at 
com.ca.directory.jxplorer.broker.Broker.doModifyQuery
(Broker.java:425)
        at 
com.ca.directory.jxplorer.broker.Broker.processRequest
(Broker.java:206)
        at 
com.ca.directory.jxplorer.broker.JNDIBroker.processReq
uest(JNDIBroker.java:362)
        at 
com.ca.directory.jxplorer.broker.Broker.processQueue
(Broker.java:158)
        at 
com.ca.directory.jxplorer.broker.JNDIBroker.processQue
ue(JNDIBroker.java:829)
        at com.ca.directory.jxplorer.broker.Broker.run
(Broker.java:124)
        at java.lang.Thread.run(Thread.java:595)



----------------------------------------------------------------------

>Comment By: Paul Zuefeldt (paulz_sci)
Date: 2006-10-23 21:26

Message:
Logged In: YES 
user_id=1623969

Just a follow-up:

There is a new set of LDAP RFC's that pretty much say the ;binary option is 
required 
for certificates: RFC 4522 section 4, and RFC 4523 section 2.1.

But RFCs aside, I noticed that JXplorer has different behavior -- besides the 
obvious --
 depending on the setting of the config option you pointed me to. With 
sendVerboseBinary=true, Submit seems to be intelligent and only attempt to 
update what 
has been changed in the entry. But when set false (the default setting), Submit 
appears 
to try to delete and then replace my certificate when I was attempting to 
change a 
different attribute. This is part of what was causing the problem.

I pasted a little snippet of a trace demonstrating this. In this example I was 
changing 
ipHostNumber -- you can see where JXplorer tries to replace it -- but the 
modify 
operation fails because it also attempts to swap out the cert, and runs into 
the 
original ;binary issue.
   
1f 0a 01 01 30 1a 04 16 75 73 65 72 43 65 72 74     ....0...userCert
69 66 69 63 61 74 65 3b 62 69 6e 61 72 79 31 00     ificate;binary1.
30 22 0a 01 02 30 1d 04 0c 69 70 48 6f 73 74 4e     0"...0...ipHostN
75 6d 62 65 72 31 0d 04 0b 31 30 2e 32 30 2e 33     umber1...10.20.3
30 2e 34 30 30 82 04 1c 0a 01 02 30 82 04 15 04     0.400\202.....0\202...
0f 75 73 65 72 43 65 72 74 69 66 69 63 61 74 65     .userCertificate

Setting the option true seems to make everything work for me, but I thought you 
might 
be interested in this.

Thanks again for the tip.

----------------------------------------------------------------------

Comment By: Paul Zuefeldt (paulz_sci)
Date: 2006-10-23 18:39

Message:
Logged In: YES 
user_id=1623969

Just a follow-up:

There is a new set of LDAP RFC's that pretty much say the ;binary option is 
required 
for certificates: RFC 4522 section 4, and RFC 4523 section 2.1.

But RFCs aside, I noticed that JXplorer has different behavior -- besides the 
obvious --
 depending on the setting of the config option you pointed me to. With 
sendVerboseBinary=true, Submit seems to be intelligent and only attempt to 
update what 
has been changed in the entry. But when set false (the default setting), Submit 
appears 
to try to delete and then replace my certificate when I was attempting to 
change a 
different attribute. This is part of what was causing the problem.

I pasted a little snippet of a trace demonstrating this. In this example I was 
changing 
ipHostNumber -- you can see where JXplorer tries to replace it -- but the 
modify 
operation fails because it also attempts to swap out the cert, and runs into 
the 
original ;binary issue.
   
1f 0a 01 01 30 1a 04 16 75 73 65 72 43 65 72 74     ....0...userCert
69 66 69 63 61 74 65 3b 62 69 6e 61 72 79 31 00     ificate;binary1.
30 22 0a 01 02 30 1d 04 0c 69 70 48 6f 73 74 4e     0"...0...ipHostN
75 6d 62 65 72 31 0d 04 0b 31 30 2e 32 30 2e 33     umber1...10.20.3
30 2e 34 30 30 82 04 1c 0a 01 02 30 82 04 15 04     0.400\202.....0\202...
0f 75 73 65 72 43 65 72 74 69 66 69 63 61 74 65     .userCertificate

Setting the option true seems to make everything work for me, but I thought you 
might 
be interested in this.

Thanks again for the tip.

----------------------------------------------------------------------

Comment By: Christopher Betts (pegacat)
Date: 2006-10-19 11:17

Message:
Logged In: YES 
user_id=558207

Nope - check RFC 2251 sec 4.1.5.1 - ";binary" is a client
side *option* for when the server can't be trusted to
respect the RFC 2252 sec 4.3.1 schema definitions.

A bunch of server's don't handle this aspect of schema
correctly, hence the configuration option :-).  But in
theory they should figure out from schema that they're
transferring a binary attribute and transfer it accordingly.

*shrug*.  If we always used the ";binary" option we'd just
get another group of folks mad at us - hence we have to make
it a config option :-).

----------------------------------------------------------------------

Comment By: Paul Zuefeldt (paulz_sci)
Date: 2006-10-18 21:38

Message:
Logged In: YES 
user_id=1623969

Yes, thank you. The config option does seem to get things 
rolling. But I'm not sure I would classify it as a server 
problem. I believe the ;binary requirement comes from the 
RFCs.

----------------------------------------------------------------------

Comment By: Christopher Betts (pegacat)
Date: 2006-10-18 20:00

Message:
Logged In: YES 
user_id=558207

This looks like a server problem - the error you are getting
is from the server where it is saying that it needs the
certificate to be sent with a ";binary" extension on the
attribute name.

You may be able to change this at the server end, or you can
set an option to 'use explicit ;binary' in the jxplorer config.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=480577&aid=1579778&group_id=55394

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Jxplorer-devel mailing list
Jxplorer-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jxplorer-devel

Reply via email to