provisioning/provisioning-device-client/src/main/java/com/microsoft/azure/sdk/iot/provisioning/device/internal/parser/RegistrationOperationStatusParser.java [97:140]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                if (X509CertificateInfo.getIssuerName() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_007: [ This method shall throw IllegalArgumentException if Issuer Name from X509 Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Issuer Name is required for X509 flow");
                }
                if (X509CertificateInfo.getSubjectName() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_008: [ This method shall throw IllegalArgumentException if Subject Name from X509 Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Subject Name is required for X509 flow");
                }
                if (X509CertificateInfo.getSha1Thumbprint() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_009: [ This method shall throw IllegalArgumentException if Sha1 Thumbprint from X509 Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("SHA1 Thumbprint is required for X509 flow");
                }

                if (X509CertificateInfo.getSha256Thumbprint() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_010: [ This method shall throw IllegalArgumentException if SHA256 Thumbprint  from X509 Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("SHA256 Thumbprint is required for X509 flow");
                }

                if (X509CertificateInfo.getNotBeforeUtc() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_011: [ This method shall throw IllegalArgumentException if NotBeforeUtc from X509 Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Not before UTC time is required for X509 flow");
                }

                if (X509CertificateInfo.getNotAfterUtc() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_012: [ This method shall throw IllegalArgumentException if NotAfterUtc from X509 Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Not After UTC is required for X509 flow");
                }

                if (X509CertificateInfo.getSerialNumber() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_013: [ This method shall throw IllegalArgumentException if Serial Number from X509 Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Serial Number is required for X509 flow");
                }

                if (X509CertificateInfo.getVersion() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_014: [ This method shall throw IllegalArgumentException if version from X509 Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Version is required for X509 flow");
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



provisioning/provisioning-device-client/src/main/java/com/microsoft/azure/sdk/iot/provisioning/device/internal/parser/RegistrationOperationStatusParser.java [149:192]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                if (X509CertificateInfo.getIssuerName() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_015: [ This method shall throw IllegalArgumentException if Issuer Name from X509 Signing Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Issuer Name is required for X509 flow");
                }
                if (X509CertificateInfo.getSubjectName() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_016: [ This method shall throw IllegalArgumentException if Subject Name from X509 Signing Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Subject Name is required for X509 flow");
                }
                if (X509CertificateInfo.getSha1Thumbprint() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_017: [ This method shall throw IllegalArgumentException if Sha1 Thumbprint from X509 Signing Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("SHA1 Thumbprint is required for X509 flow");
                }

                if (X509CertificateInfo.getSha256Thumbprint() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_018: [ This method shall throw IllegalArgumentException if SHA256 Thumbprint from X509 Signing Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("SHA256 Thumbprint is required for X509 flow");
                }

                if (X509CertificateInfo.getNotBeforeUtc() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_019: [ This method shall throw IllegalArgumentException if Not before UTC time from X509 Signing Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Not before UTC time is required for X509 flow");
                }

                if (X509CertificateInfo.getNotAfterUtc() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_020: [ This method shall throw IllegalArgumentException if Not After UTC  from X509 Signing Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Not After UTC is required for X509 flow");
                }

                if (X509CertificateInfo.getSerialNumber() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_021: [ This method shall throw IllegalArgumentException if Serial Number from X509 Signing Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Serial Number is required for X509 flow");
                }

                if (X509CertificateInfo.getVersion() == null)
                {
                    //SRS_RegistrationOperationStatusParser_25_022: [ This method shall throw IllegalArgumentException if Version from X509 Signing Certificate Info cannot be parsed. ]
                    throw new IllegalArgumentException("Version is required for X509 flow");
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



