public byte [ ] getOctetString ( ) throws IOException { byte [ ] bytes ; if ( tag != tag_OctetString && ! isConstructed ( tag_OctetString ) ) { throw new IOException ( "DerValue.getOctetString, not an Octet String: " + tag ) ; } bytes = new byte [ length ] ; // Note: do not tempt to call buffer.read(bytes) at all. There's a // known bug that it returns -1 instead of 0. if ( length == 0 ) { return bytes ; } if ( buffer . read ( bytes ) != length ) throw new IOException ( "short read on DerValue buffer" ) ; if ( isConstructed ( ) ) { DerInputStream in = new DerInputStream ( bytes ) ; bytes = null ; while ( in . available ( ) != 0 ) { bytes = append ( bytes , in . getOctetString ( ) ) ; } } return bytes ; }
Returns an ASN . 1 OCTET STRING