code: public void sign() throws CoseException {
          if (rgbProtected == null) {
              if (objProtected.size() == 0) rgbProtected = new byte[0];
              else rgbProtected = objProtected.EncodeToBytes();
          }
          
          for (Signer r : signerList) {
              r.sign(rgbProtected, rgbContent);
          }
          
          ProcessCounterSignatures();
      }
docs: Causes a signature to be created for every signer that does not already have one.
  
  @throws CoseException Errors generated by the COSE module