File tree 3 files changed +11
-9
lines changed
3 files changed +11
-9
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,8 @@ Deprecations:
16
16
Changes:
17
17
^^^^^^^^
18
18
19
+ - Invalid versions are now rejected in ``OpenSSL.crypto.X509Req.set_version ``.
20
+
19
21
23.1.1 (2023-03-28)
20
22
-------------------
21
23
Original file line number Diff line number Diff line change @@ -1010,6 +1010,12 @@ def set_version(self, version: int) -> None:
1010
1010
:param int version: The version number.
1011
1011
:return: ``None``
1012
1012
"""
1013
+ if not isinstance (version , int ):
1014
+ raise TypeError ("version must be an int" )
1015
+ if version != 0 :
1016
+ raise ValueError (
1017
+ "Invalid version. The only valid version for X509Req is 0."
1018
+ )
1013
1019
set_result = _lib .X509_REQ_set_version (self ._req , version )
1014
1020
_openssl_assert (set_result == 1 )
1015
1021
Original file line number Diff line number Diff line change @@ -1601,20 +1601,12 @@ def test_version(self):
1601
1601
"""
1602
1602
`X509Req.set_version` sets the X.509 version of the certificate
1603
1603
request. `X509Req.get_version` returns the X.509 version of the
1604
- certificate request. The only defined version is 0. Others may or
1605
- may not be supported depending on backend.
1604
+ certificate request. The only defined version is 0.
1606
1605
"""
1607
1606
request = X509Req ()
1608
1607
assert request .get_version () == 0
1609
1608
request .set_version (0 )
1610
1609
assert request .get_version () == 0
1611
- try :
1612
- request .set_version (1 )
1613
- assert request .get_version () == 1
1614
- request .set_version (3 )
1615
- assert request .get_version () == 3
1616
- except Error :
1617
- pass
1618
1610
1619
1611
def test_version_wrong_args (self ):
1620
1612
"""
@@ -1624,6 +1616,8 @@ def test_version_wrong_args(self):
1624
1616
request = X509Req ()
1625
1617
with pytest .raises (TypeError ):
1626
1618
request .set_version ("foo" )
1619
+ with pytest .raises (ValueError ):
1620
+ request .set_version (2 )
1627
1621
1628
1622
def test_get_subject (self ):
1629
1623
"""
You can’t perform that action at this time.
0 commit comments