code: function RSASetPrivateEx(N,E,D,P,Q,DP,DQ,C) {
    this.isPrivate = true;
    this.isPublic = false;
    if (N == null) throw "RSASetPrivateEx N == null";
    if (E == null) throw "RSASetPrivateEx E == null";
    if (N.length == 0) throw "RSASetPrivateEx N.length == 0";
    if (E.length == 0) throw "RSASetPrivateEx E.length == 0";
  
    if (N != null && E != null && N.length > 0 && E.length > 0) {
      this.n = parseBigInt(N,16);
      this.e = parseInt(E,16);
      this.d = parseBigInt(D,16);
      this.p = parseBigInt(P,16);
      this.q = parseBigInt(Q,16);
      this.dmp1 = parseBigInt(DP,16);
      this.dmq1 = parseBigInt(DQ,16);
      this.coeff = parseBigInt(C,16);
    } else {
      throw "Invalid RSA private key in RSASetPrivateEx";
    }
  }
docs: Set the private key fields N, e, d and CRT params from hex strings