(p, q, g, y)
| 167 | })(); |
| 168 | |
| 169 | function genOpenSSLDSAPub(p, q, g, y) { |
| 170 | const asnWriter = new Ber.Writer(); |
| 171 | asnWriter.startSequence(); |
| 172 | // algorithm |
| 173 | asnWriter.startSequence(); |
| 174 | asnWriter.writeOID('1.2.840.10040.4.1'); // id-dsa |
| 175 | // algorithm parameters |
| 176 | asnWriter.startSequence(); |
| 177 | asnWriter.writeBuffer(p, Ber.Integer); |
| 178 | asnWriter.writeBuffer(q, Ber.Integer); |
| 179 | asnWriter.writeBuffer(g, Ber.Integer); |
| 180 | asnWriter.endSequence(); |
| 181 | asnWriter.endSequence(); |
| 182 | |
| 183 | // subjectPublicKey |
| 184 | asnWriter.startSequence(Ber.BitString); |
| 185 | asnWriter.writeByte(0x00); |
| 186 | asnWriter.writeBuffer(y, Ber.Integer); |
| 187 | asnWriter.endSequence(); |
| 188 | asnWriter.endSequence(); |
| 189 | return makePEM('PUBLIC', asnWriter.buffer); |
| 190 | } |
| 191 | |
| 192 | function genOpenSSHDSAPub(p, q, g, y) { |
| 193 | const publicKey = Buffer.allocUnsafe( |
no test coverage detected
searching dependent graphs…