コード例 #1
0
ファイル: test_additionals.py プロジェクト: choth02/LinOTP
	def test_04_preshared_key(self):
		'''
		testing import PSKC #3 -- preshared key
		'''
		res = parsePSKCdata(self.XML3, preshared_key_hex="12345678901234567890123456789012", do_checkserial=False)
		print res
		assert res.get('12345678').get('hmac_key') == "3132333435363738393031323334353637383930"
コード例 #2
0
ファイル: test_additionals.py プロジェクト: choth02/LinOTP
	def test_05_password_based(self):
		'''
		testing import PSKC #4 -- password based encryption
		'''
		res = parsePSKCdata(self.XML4, password="******", do_checkserial=False)
		print res
		assert res.get('123456').get('hmac_key') == "3132333435363738393031323334353637383930"
コード例 #3
0
 def test_01_xml1(self):
     """
     testing import PSKC #1 -- no valid OATH serial
     """
     res = parsePSKCdata(self.XML1)
     print(res)
     assert res == {}
コード例 #4
0
ファイル: test_additionals.py プロジェクト: choth02/LinOTP
	def test_03_xml2(self):
		'''
		testing import PSKC #2 -- 2 valid OATH serials
		'''
		res = parsePSKCdata(self.XML2)
		print res
		assert len(res) == 2
コード例 #5
0
ファイル: test_additionals.py プロジェクト: choth02/LinOTP
	def test_01_xml1(self):
		'''
		testing import PSKC #1 -- no valid OATH serial
		'''
		res = parsePSKCdata(self.XML1)
		print res
		assert res == {}
コード例 #6
0
ファイル: test_additionals.py プロジェクト: smartree/LinOTP
 def test_05_password_based(self):
     '''
     testing import PSKC #4 -- password based encryption
     '''
     res = parsePSKCdata(self.XML4, password="******", do_checkserial=False)
     print(res)
     assert res.get('123456').get(
         'hmac_key') == "3132333435363738393031323334353637383930"
コード例 #7
0
ファイル: test_additionals.py プロジェクト: choth02/LinOTP
	def test_02_xml1(self):
		'''
		testing import PSKC #1 -- ignore OATH serial
		'''
		res = parsePSKCdata(self.XML1, 	do_checkserial=False)
		print res
		assert len(res) == 1
		assert res.get('12345678')
		assert res.get('12345678').get('otplen') == 8
		assert res.get('12345678').get('hmac_key') == '3132333435363738393031323334353637383930'
コード例 #8
0
ファイル: test_additionals.py プロジェクト: rb12345/LinOTP
	def test_02_xml1(self):
		'''
		testing import PSKC #1 -- ignore OATH serial
		'''
		res = parsePSKCdata(self.XML1, 	do_checkserial=False)
		print res
		assert len(res) == 1
		assert res.get('12345678')
		assert res.get('12345678').get('otplen') == 8
		assert res.get('12345678').get('hmac_key') == '3132333435363738393031323334353637383930'
コード例 #9
0
 def test_05_password_based(self):
     """
     testing import PSKC #4 -- password based encryption
     """
     res = parsePSKCdata(self.XML4, password="******", do_checkserial=False)
     print(res)
     assert (
         res.get("123456").get("hmac_key")
         == "3132333435363738393031323334353637383930"
     )
コード例 #10
0
ファイル: test_additionals.py プロジェクト: smartree/LinOTP
 def test_04_preshared_key(self):
     '''
     testing import PSKC #3 -- preshared key
     '''
     res = parsePSKCdata(
         self.XML3,
         preshared_key_hex="12345678901234567890123456789012",
         do_checkserial=False)
     print(res)
     assert res.get('12345678').get(
         'hmac_key') == "3132333435363738393031323334353637383930"
コード例 #11
0
 def test_02_xml1(self):
     """
     testing import PSKC #1 -- ignore OATH serial
     """
     res = parsePSKCdata(self.XML1, do_checkserial=False)
     print(res)
     assert len(res) == 1
     assert res.get("987654321")
     assert res.get("987654321").get("otplen") == 8
     assert (
         res.get("987654321").get("hmac_key")
         == "3132333435363738393031323334353637383930"
     )
コード例 #12
0
 def test_04_preshared_key(self):
     """
     testing import PSKC #3 -- preshared key
     """
     res = parsePSKCdata(
         self.XML3,
         preshared_key_hex="12345678901234567890123456789012",
         do_checkserial=False,
     )
     print(res)
     assert (
         res.get("12345678").get("hmac_key")
         == "3132333435363738393031323334353637383930"
     )
コード例 #13
0
    def test_parse_PSKC_OCRA(self):
        '''
        Test import OCRA via PSCK
        '''

        xml = self._read_data("ocra_pskc_tokens.xml")

        from linotp.lib.ImportOTP.PSKC import parsePSKCdata
        TOKENS = parsePSKCdata(xml,
                 preshared_key_hex="4A057F6AB6FCB57AB5408E46A9835E68",
                 do_checkserial=False)

        self.assertTrue(len(TOKENS) == 3, TOKENS)
        self.assertTrue(TOKENS.get("306EUO4-00954") is not None, TOKENS)
        self.assertTrue(TOKENS.get("306EUO4-00958") is not None, TOKENS)
        self.assertTrue(TOKENS.get("306EUO4-00960") is not None, TOKENS)

        return
コード例 #14
0
    def test_parse_PSKC_OCRA(self):
        '''
        Test import OCRA via PSCK
        '''
        xml = '''<?xml version="1.0" encoding="UTF-8"?>
<KeyContainer Version="1.0"
              Id="KC20130122"
              xmlns="urn:ietf:params:xml:ns:keyprov:pskc"
              xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
              xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
     <EncryptionKey>
         <ds:KeyName>Pre-shared-key</ds:KeyName>
     </EncryptionKey>
     <MACMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1">
         <MACKey>
             <xenc:EncryptionMethod
             Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
             <xenc:CipherData>
                 <xenc:CipherValue>OdudVkgsZywiwE1HqPGOJtHmBl+6HzJkylgDrZU9gcflyCddzO+cxEwzYIlOiwrE</xenc:CipherValue>
             </xenc:CipherData>
         </MACKey>
     </MACMethod>
  <KeyPackage>
    <DeviceInfo>
      <Manufacturer>NagraID Security</Manufacturer>
      <SerialNo>306EUO4-00960</SerialNo>
      <Model>306E</Model>
      <IssueNo>880479B6A2CA2080</IssueNo>
    </DeviceInfo>
    <Key Id="880479B6A2CA2080"
         Algorithm="urn:ietf:params:xml:ns:keyprov:pskc:ocra">
    <AlgorithmParameters>
        <Suite>OCRA-1:HOTP-SHA1-6:C-QN08-PSHA1</Suite>
        <ResponseFormat Length="6" Encoding="DECIMAL"/>
    </AlgorithmParameters>
      <Data>
        <Secret>
          <EncryptedValue>
            <xenc:EncryptionMethod
                  Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
            <xenc:CipherData>
              <xenc:CipherValue>VHdEP8TXnMmE3yiAnB5Fx+SQ85UXCNAxH7IyOixJpUZHMk9GTdFYWNsxZp8jVpfp</xenc:CipherValue>
            </xenc:CipherData>
          </EncryptedValue>
          <ValueMAC>uQ1Bef+XVXHQoW4ZzyQ/cv/9zYA=</ValueMAC>
        </Secret>
        <Counter>
          <PlainValue>0</PlainValue>
        </Counter>
      </Data>
    </Key>
  </KeyPackage>
  <KeyPackage>
    <DeviceInfo>
      <Manufacturer>NagraID Security</Manufacturer>
      <SerialNo>306EUO4-00954</SerialNo>
      <Model>306E</Model>
      <IssueNo>880489CFA2CA2080</IssueNo>
    </DeviceInfo>
    <Key Id="880489CFA2CA2080"
         Algorithm="urn:ietf:params:xml:ns:keyprov:pskc:ocra">
    <AlgorithmParameters>
       <Suite>OCRA-1:HOTP-SHA1-6:C-QN08-PSHA1</Suite>
        <ResponseFormat Length="6" Encoding="DECIMAL"/>
    </AlgorithmParameters>
      <Data>
        <Secret>
          <EncryptedValue>
            <xenc:EncryptionMethod
                  Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
            <xenc:CipherData>
              <xenc:CipherValue>YTvA1cSntb4cPJHPFkJwuSZkAsLPo+o1EJPA22DeijZRaKhJAwArQKbwDwSmNrR1</xenc:CipherValue>
            </xenc:CipherData>
          </EncryptedValue>
          <ValueMAC>N8QGRQ7yKd8suyUgaEVme7f0HrA=</ValueMAC>
        </Secret>
        <Counter>
          <PlainValue>0</PlainValue>
        </Counter>
      </Data>
    </Key>
  </KeyPackage>
  <KeyPackage>
    <DeviceInfo>
      <Manufacturer>NagraID Security</Manufacturer>
      <SerialNo>306EUO4-00958</SerialNo>
      <Model>306E</Model>
      <IssueNo>880497B3A2CA2080</IssueNo>
    </DeviceInfo>
    <Key Id="880497B3A2CA2080"
         Algorithm="urn:ietf:params:xml:ns:keyprov:pskc:ocra">
    <AlgorithmParameters>
        <Suite>OCRA-1:HOTP-SHA1-6:C-QN08-PSHA1</Suite>
        <ResponseFormat Length="6" Encoding="DECIMAL"/>
    </AlgorithmParameters>
      <Data>
        <Secret>
          <EncryptedValue>
            <xenc:EncryptionMethod
                  Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
            <xenc:CipherData>
              <xenc:CipherValue>BdxW7Pb46LafGV8k2zDQ48ujoyYX7M+JumfS3Wx5dP1E9y5By/97QTMiGkzJrcWj</xenc:CipherValue>
            </xenc:CipherData>
          </EncryptedValue>
          <ValueMAC>WGhmLhbGn4Dksa7lHKfKOqbsJhU=</ValueMAC>
        </Secret>
        <Counter>
          <PlainValue>0</PlainValue>
        </Counter>
      </Data>
    </Key>
  </KeyPackage>
</KeyContainer>
        '''
        from linotp.lib.ImportOTP.PSKC import parsePSKCdata
        TOKENS = parsePSKCdata(xml,
                 preshared_key_hex="4A057F6AB6FCB57AB5408E46A9835E68",
                 do_checkserial=False)
        log.error(TOKENS)
        assert(len(TOKENS) == 3)
        assert(TOKENS.get("306EUO4-00954") is not None)
        assert(TOKENS.get("306EUO4-00958") is not None)
        assert(TOKENS.get("306EUO4-00960") is not None)