return Status.CID_ABSENT;
}
log.debug("verifyCEID - Verifying CEID (" + ceid.getValue() + ")");
CanonicalID cid = xrd.getCanonicalID();
if (cid == null) {
log.debug("verifyCEID - No CID in the XRD");
return Status.CID_FAILED;
}
XRI cidX;
try {
cidX = XRI.fromURINormalForm(cid.getValue());
}
catch (Exception e) {
log.debug("verifyCEID - Unable to parse CID");
return Status.CID_FAILED;
}
if (ceid.getValue().equals(cid.getValue())) {
log.debug("verifyCEID - CID is character-for-character equivalent to CEID.");
return Status.CID_VERIFIED;
}
try {
XRI ceidX = XRI.fromURINormalForm(ceid.getValue());
log.info("verifyCEID - resolving CEID");
XRD ceidXRD = resolveAuthToXRD(ceidX, flags, state);
Status s = ceidXRD.getStatus();
if (!s.getCID().equals(Status.CID_VERIFIED)) {
log.debug("verifyCEID - XRD for CEID is not CID verified");
return Status.CID_FAILED;
}
CanonicalID cid2 = ceidXRD.getCanonicalID();
if (cid2 == null) {
log.debug("verifyCEID - no CID in the XRD in CEID");
return Status.CID_FAILED;
}
XRI cidX2 = XRI.fromURINormalForm(cid2.getValue());
if (!cidX2.toURINormalForm().equals(cidX.toURINormalForm())) {
log.debug("verifyCEID - CEID's XRD's CID is not equivalent to the original CID");
return Status.CID_FAILED;
}