DICOM Extended Negotiation of User Identity


DICOM supplement 99 - DICOM User Identity Negotiation.



Available in DicomObjects.NET version and all later versions:


Sample c# code:




DicomAssociation cn = new DicomAssociation();

cn.Identity = new DicomAssociation.UserIdentity();


cn.Identity.IdentityType = DicomObjects.Enums.UserIdentityType.Kerberos;

cn.Identity.ResponseType = DicomObjects.Enums.UserIdentityResponseType.PositiveResponseRequested;

cn.Identity.PrimaryField = new byte[] { 1, 2, 3, 4 }; // the Kerberos Service Ticket, or the username




byte[] resp = cn.ServerResponse; // will be null is ResponseType is set to NoResponseRequested



void server_AssociationRequest(object sender, DicomServer.AssociationRequestArgs e)


   DicomAssociation.UserIdentity ident = e.Association.Identity;

     Yon can check the user identity and send a response back if Positive Response is requested

      if (e.Association.Identity.ResponseType == DicomObjects.Enums.UserIdentityResponseType.PositiveResponseRequested)


        if (e.Association.Identity.IdentityType == DicomObjects.Enums.UserIdentityType.Kerberos)

            e.Association.Identity.ServerResponse = new byte[] { 1, 1, 1, 1 }; // the Kerberos Server ticket


            e.Association.Identity.ServerResponse = new byte[0];




We Currently Accept:

Other currencies

For Reference purposes only:

The price is based on current exchange rates but is only an approximation. Please contact us for a final price