DICOM Extended Negotiation of User Identity

DicomObjects.NET supports extended negotation of user identity as defined in DICOM supplement 99:


Here is sample code for how to access this data using DicomObjects.NET


using DicomObjects.Enums;

DicomAssociation cn = new DicomAssociation();
cn.Identity = new DicomAssociation.UserIdentity();
cn.Identity.IdentityType = UserIdentityType.Kerberos;
cn.Identity.ResponseType = 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


using DicomObjects.Enums;

void server_AssociationRequest(object sender, DicomServer.AssociationRequestArgs e)
   DicomAssociation.UserIdentity ident = e.Association.Identity;
   //You can check the user identity and send a response back if Positive Response is requested
   if (e.Association.Identity.ResponseType == 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

We use cookies to give you the best possible experience on our website. By continuing to use this website, you agree with our use of cookies. for more information please click HERE