我有一个 Xamarin.Forms 应用程序,它使用 ServicePointManager.ServerCertificateValidationCallback 类和方法实现证书固定。在 Android 和 iOS 上,这没有问题,因为它允许连接到证书密钥已固定的预期服务,并禁止连接那些我没有的服务。
但是,在 UWP 上,无论是否已固定证书密钥,都允许所有连接。我已经从证书验证方法中明确返回 false 并且仍然允许连接。我确定正在执行检查,因为我已经调试并逐步完成了证书验证方法。
即使我从验证检查中返回 false,也可能导致连接继续进行的原因是什么?
ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertficate;
private static bool ValidateServerCertficate(
object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors sslPolicyErrors
)
{
return false;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个 JsonView 来选择性地序列化实体中的字段,但序列化的 json 具有没有字段的空对象。下面是我的代码:
视图类:
public class AuditReportView {
public interface Summary {}
}
Run Code Online (Sandbox Code Playgroud)
实体:
@Entity
@SequenceGenerator(name = "AUDIT_REPORT_SEQUENCE_GENERATOR", sequenceName = "EJB_AUDIT_REPORT_SEQ", initialValue = 1, allocationSize = 1)
@Table(name = "DEVICE_AUDIT_REPORT")
@Data
public class AuditReport implements Serializable {
private static final long serialVersionUID = 1246376778314918671L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "AUDIT_REPORT_SEQUENCE_GENERATOR")
@Column(name = "ID", nullable = false)
@JsonView(AuditReportView.Summary.class)
private Long id;
@Column(name = "DEVICE_ID", nullable = false)
@JsonView(AuditReportView.Summary.class)
private String deviceId;
@Column(name = "REPORT_TIMESTAMP", nullable = false)
@JsonView(AuditReportView.Summary.class) …Run Code Online (Sandbox Code Playgroud)