@@ -113,6 +113,44 @@ public void TestSigning_WithProperties_DifferentCultures()
113113 newFile . Verify ( new HashCodeSigner ( ) ) ;
114114 }
115115
116+ [ TestMethod ]
117+ public void TestHasXXXProperties_True ( )
118+ {
119+ var key = "BwIAAACkAABSU0EyAAQAAAEAAQALrzxPFiBp4EN5aeLtZZ4sTvcfYn+fSpmxJvhSUxP/9fm+uaWwJ+n7+jc4Zf2tB+WDulTJo5ryauHgKjx5MHMmWNLr77mD3ws11BC61VDt65fIY4DLsvn49ZYajJy3oUwDvyEsnGArUH3IUhCTv/OWbHovmb69Xlg90mEcsIhOm2WKki+1cc7ZeBANtR57SMLv3qDH+DQqTxBb4UOHmJs4YfrMjqOEXBg0pDLT4HHzIz7WVu9ltKJdQZn626aGdMivhKQqxiJj3YsdFiLgM4BZk9ZGCxI2AJLp9Q/IRwqGKg4T0NlNWbqH1P5Zvq2nxVxSQEI/ARpUK1C8CIsnXVfGyRNp5nkFlM05O2HXhwLWhoHn5Dm76FMz5mClkFaRe8pK113sZK0Tw6sEVCrFMXeaiXSGK9xZifvnioOq9jRgp1fCpc5vLSE4VFGZ2vl89hrsfPKAIDIx5vXgNfOGjJXoDfHUkurih1qBG5Aiie5bD8e+LPVQ7jkM9CzFHRC756n1yAwSLUiv2cpbXD/YhZuHOOIljWjgcHKV9b9eyQXUilC8CQOE/1JLUHWLskhRH6NKRo1HVPxsuZpKLfkWEqti6TF8A4gllaJdjJEqq226EaXaRvP2RoqxjRBUKeT/NBN4focrEmjQpMKTAhMmpIutsXEqLbcXbR+0gBbvdIoEcEBbgizGJK8NJtWnli6qh4EEuaqtBYXkP0Io/bZJsc+WuWpHn9lXWIy/cPDTik+uEgbPF5MZEcmLVKJEsdnpcEc=" ;
120+
121+ var lic = Lic . Builder
122+ . WithRsaPrivateKey ( key )
123+ . WithHardwareIdentifier ( "HardwareIdentifier" )
124+ . WithSerialNumber ( SerialNumber . Create ( "GSA" ) )
125+ . ExpiresIn ( TimeSpan . FromDays ( 100 ) )
126+ . WithProperty ( "Name" , "Bill Gates" )
127+ . WithProperty ( "Company" , "Microsoft" )
128+ . SignAndCreate ( ) ;
129+
130+ Assert . IsTrue ( lic . HasExpirationDate ) ;
131+ Assert . IsTrue ( lic . HasHardwareIdentifier ) ;
132+ Assert . IsTrue ( lic . HasSerialNumber ) ;
133+ }
134+
135+ [ TestMethod ]
136+ public void TestHasXXXProperties_False ( )
137+ {
138+ var key = "BwIAAACkAABSU0EyAAQAAAEAAQALrzxPFiBp4EN5aeLtZZ4sTvcfYn+fSpmxJvhSUxP/9fm+uaWwJ+n7+jc4Zf2tB+WDulTJo5ryauHgKjx5MHMmWNLr77mD3ws11BC61VDt65fIY4DLsvn49ZYajJy3oUwDvyEsnGArUH3IUhCTv/OWbHovmb69Xlg90mEcsIhOm2WKki+1cc7ZeBANtR57SMLv3qDH+DQqTxBb4UOHmJs4YfrMjqOEXBg0pDLT4HHzIz7WVu9ltKJdQZn626aGdMivhKQqxiJj3YsdFiLgM4BZk9ZGCxI2AJLp9Q/IRwqGKg4T0NlNWbqH1P5Zvq2nxVxSQEI/ARpUK1C8CIsnXVfGyRNp5nkFlM05O2HXhwLWhoHn5Dm76FMz5mClkFaRe8pK113sZK0Tw6sEVCrFMXeaiXSGK9xZifvnioOq9jRgp1fCpc5vLSE4VFGZ2vl89hrsfPKAIDIx5vXgNfOGjJXoDfHUkurih1qBG5Aiie5bD8e+LPVQ7jkM9CzFHRC756n1yAwSLUiv2cpbXD/YhZuHOOIljWjgcHKV9b9eyQXUilC8CQOE/1JLUHWLskhRH6NKRo1HVPxsuZpKLfkWEqti6TF8A4gllaJdjJEqq226EaXaRvP2RoqxjRBUKeT/NBN4focrEmjQpMKTAhMmpIutsXEqLbcXbR+0gBbvdIoEcEBbgizGJK8NJtWnli6qh4EEuaqtBYXkP0Io/bZJsc+WuWpHn9lXWIy/cPDTik+uEgbPF5MZEcmLVKJEsdnpcEc=" ;
139+
140+ var lic = Lic . Builder
141+ . WithRsaPrivateKey ( key )
142+ . WithoutHardwareIdentifier ( )
143+ . WithoutSerialNumber ( )
144+ . WithoutExpiration ( )
145+ . WithProperty ( "Name" , "Bill Gates" )
146+ . WithProperty ( "Company" , "Microsoft" )
147+ . SignAndCreate ( ) ;
148+
149+ Assert . IsFalse ( lic . HasExpirationDate ) ;
150+ Assert . IsFalse ( lic . HasHardwareIdentifier ) ;
151+ Assert . IsFalse ( lic . HasSerialNumber ) ;
152+ }
153+
116154
117155 private static void AssertDefaultPropertiesAreValid ( SignedLicense file )
118156 {
0 commit comments